const localStream = TRTC.createStream({ userId, audio: true, video: true });localStream.initialize().then(() => {// local stream initialized success});
const localStream = TRTC.createStream({ userId, audio: false, screen: true });localStream.initialize().then(() => {// local stream initialized success});
// 現在お使いのブラウザがvideoエレメントからのstreamキャプチャをサポートしているかどうかチェックしますconst isVideoCapturingSupported = () => {if (typeof document === 'undefined') {return false;}const videoElement = document.createElement('video');return ['captureStream', 'mozCaptureStream', 'webkitCaptureStream'].some(item => item in videoElement);};// 現在お使いのブラウザがvideoエレメントからのstreamキャプチャをサポートしているかどうかチェックしますif (!isVideoCapturingSupported()) {console.log('your browser does not support capturing stream from video element');return}// 再生中のビデオのvideoタグを取得しますconst video = document.getElementById('your-video-element-ID');// 再生したビデオからビデオストリームをキャプチャしますconst stream = video.captureStream();const audioTrack = stream.getAudioTracks()[0];const videoTrack = stream.getVideoTracks()[0];const localStream = TRTC.createStream({ userId, audioSource: audioTrack, videoSource: videoTrack });// ビデオのプロパティが外部から渡されたビデオソースと一致していることを確認してください。一致していない場合、ビデオ通話に影響を及ぼしますlocalStream.setVideoProfile('480p');localStream.initialize().then(() => {// local stream initialized success});
// 現在お使いのブラウザがvideoエレメントからのcanvasキャプチャをサポートしているかどうかチェックしますconst isCanvasCapturingSupported = () => {if (typeof document === 'undefined') {return false;}const canvasElement = document.createElement('canvas');return ['captureStream', 'mozCaptureStream', 'webkitCaptureStream'].some(item => item in canvasElement);};// 現在お使いのブラウザがvideoエレメントからのcanvasキャプチャをサポートしているかどうかチェックしますif (!isCanvasCapturingSupported()) {console.log('your browser does not support capturing stream from canvas element');return}// お客様のcanvasタグを取得しますconst canvas = document.getElementById('your-canvas-element-ID');// canvasから15fpsのビデオストリームをキャプチャしますconst fps = 15;const stream = canvas.captureStream(fps);const videoTrack = stream.getVideoTracks()[0];const localStream = TRTC.createStream({ userId, videoSource: videoTrack });// ビデオのプロパティが外部から渡されたビデオソースと一致していることを確認してください。一致していない場合、ビデオ通話に影響を及ぼしますlocalStream.setVideoProfile('480p');localStream.initialize().then(() => {// local stream initialized success});
mute/unmute/ended
などのイベントを監視し、現在のオーディオビデオデータストリームの状態を判断する必要があります。Client.on('stream-added')
、Client.on('stream-updated')
およびClient.on('stream-removed')
などのイベントを監視することによって、オーディオビデオストリーミングのライフサイクルを処理する必要があります。
この記事はお役に立ちましたか?