const client = TRTC.createClient({...,autoSubscribe: false // デフォルトではtrue、すなわち自動サブスクリプションです});
client.on('stream-added', event => {const remoteStream = event.stream;console.log('リモートストリームの増加: ' + remoteStream.getId());//リモートストリームのサブスクリプションclient.subscribe(remoteStream);});
play
メソッドがdivエレメントのIDまたはHTMLDivElementオブジェクトをパラメータとして受け入れると、SDKがそのdivエレメント下に対応するオーディオビデオタグを自動作成し、オーディオビデオを再生します。client.on('stream-subscribed', event => {const remoteStream = event.stream;console.log('リモートストリームのサブスクリプション成功: ' + remoteStream.getId());// 再生コンテナの作成let remotePlayerElement = document.createElement('div');remotePlayerElement.id = 'remote-stream-' + remoteStream.getId();document.body.appendChild(remotePlayerElement);// リモートストリームの再生を開始する場合、playメソッドに渡されるElement IDは、画面に存在するdivエレメントである必要がありますremoteStream.play(remotePlayerElement.id);});
play
メソッドを呼び出すとPLAY_NOT_ALLOWEDのエラーが返される場合があることに特にご注意ください。このときSDKはポップアップウィンドウを表示して、ユーザーとページのインタラクションを促します。インタラクションが発生すると、SDKは自動的にインターフェースを呼び出して再生を再開します。client.on('stream-subscribed', event => {const remoteStream = event.stream;console.log('リモートストリームのサブスクリプション成功: ' + remoteStream.getId());// remoteStreamを使用してerrorを監視する方法で、0x4043エラーをキャッチして処理しますremoteStream.on('error', error => {const errorCode = error.getCode();if (errorCode === 0x4043) {// PLAY_NOT_ALLOWED、ジェスチャー操作でstream.resumeを呼び出してオーディオビデオ再生を再開できるようユーザーを促します// remoteStream.resume()}});// 再生コンテナの作成let remotePlayerElement = document.createElement('div');remotePlayerElement.id = 'remote-stream-' + remoteStream.getId();document.body.appendChild(remotePlayerElement);// リモートストリームの再生を開始する場合、playメソッドに渡されるElement IDは、画面に存在するdivエレメントである必要がありますremoteStream.play(remotePlayerElement.id);});
const client = TRTC.createClient({mode: 'rtc',sdkAppId,userId,userSig});client.on('stream-added', event => {const remoteStream = event.stream;console.log('リモートストリームの増加: ' + remoteStream.getId());//リモートストリームのサブスクリプションclient.subscribe(remoteStream);});client.on('stream-subscribed', event => {const remoteStream = event.stream;console.log('リモートストリームのサブスクリプション成功: ' + remoteStream.getId());// remoteStreamを使用してerrorを監視する方法で、0x4043エラーをキャッチして処理しますremoteStream.on('error', error => {const errorCode = error.getCode();if (errorCode === 0x4043) {// PLAY_NOT_ALLOWED、ジェスチャー操作でstream.resumeを呼び出してオーディオビデオ再生を再開できるようユーザーを促します// remoteStream.resume()}});// 再生コンテナの作成let remotePlayerElement = document.createElement('div');remotePlayerElement.id = 'remote-stream-' + remoteStream.getId();document.body.appendChild(remotePlayerElement);// リモートストリームの再生を開始する場合、playメソッドに渡されるElement IDは、画面に存在するdivエレメントである必要がありますremoteStream.play(remotePlayerElement.id);});try {await client.join({ roomId });console.log('入室成功');} catch (error) {console.error('入室に失敗しました。しばらくしてからもう一度お試しください'+ error);}
この記事はお役に立ちましたか?