事前に各音声を合成した音声トラックを録音SDKで録音するようにすれば可能です。
各音声の合成は、WebAudio APIを利用することによって実現可能です。
Web Audio APIについては公式ドキュメントをご参照ください。
https://developer.mozilla.org/ja/docs/Web/API/Web_Audio_API
以下は自分と相手の音声ストリームを合成して音声トラックを抽出するコードの一例です。
// ストリームを合成する
const audioContext = new AudioContext();
const outputNode = audioContext.createMediaStreamDestination(); // MediaStreamの出力用ノードを作成する
const localSource = audioContext.createMediaStreamSource(localStream); // 自ストリームのソースを作成する
localSource.connect(outputNode);
const remoteSource = audioContext.createMediaStreamSource(remoteStream); // 相手ストリームのソースを作成する
remoteSource.connect(outputNode);
// 録音用トラックを作成する
const composedMediaStream =outputNode.stream;
const track = composedMediaStream.getAudioTracks()[0];
// 省略
// 録音SDKで録音を開始する
const res = await recorder.start(track);
コメント
0件のコメント
記事コメントは受け付けていません。