前提・実現したいこと
WEBRTCで受け取った相手のマイクのstreamをweb audio apiを使って加工したい。
発生している問題・エラーメッセージ
音声が再生されない。
該当のソースコード
javascript
1 rtcPeerConnection.ontrack = (event) => { 2 let stream = event.streams[0]; 3 let track = event.track; 4 if ("video" === track.kind) { 5 setStreamToElement(VideoRemote, stream); 6 } 7 else if ("audio" === track.kind) { 8 setStreamToElement(AudioRemote, stream); 9 } 10 else { 11 console.error("Unknown track kind : ", track.kind); 12 } 13 }; 14 15function setStreamToElement(elementMedia, stream) { 16 console.log(stream); 17 if (!stream) { 18 elementMedia.srcObject = stream; 19 return; 20 } 21 22 // 音量 23 if ("VIDEO" === elementMedia.tagName) { 24 elementMedia.srcObject = stream; 25 elementMedia.volume = 0.0; 26 elementMedia.muted = true; 27 } 28 else if ("AUDIO" === elementMedia.tagName) { 29 if (elementMedia === g_elementAudioLocal) { 30 elementMedia.srcObject = stream; 31 elementMedia.volume = 0.0; 32 elementMedia.muted = true; 33 } else { 34 let audioCtx = new AudioContext(); 35 let input = audioCtx.createMediaStreamSource(stream); 36 let panner = audioCtx.createStereoPanner(); 37 panner.pan.value = 1; 38 input.connect(panner); 39 panner.connect(audioCtx.destination); 40 } 41 } 42}
試したこと
WebRTCで送る前にマイクのStreamを加工してから相手に送るようにしても加工できていなかった。
- 加工した側では変更されているのが確認できた。
補足情報(FW/ツールのバージョンなど)
chrome: 96.0.4664.45
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。