update.ちょっとお遊びで、WebRTCの音声通話で、音声の途中で都合の悪い言葉を隠すのに「ピー」という音を入れることができるようになる方法を試してみます(笑)。Androidでは残念ながら動作しないようです。)まずはマイクの音声をキャプチャお約束のnavigator.getUserMedia()です。APIを使って作ってみます。正弦波のオシレータを使えば、十分それっぽい雰囲気が出るのではと思います。9日目のgetUserMedia使ってJSで動くチューナー作った。記事と同様に、マイクの入力ノードをcreateMediaStreamSource()で取り出します。その後、マイクと「ピー」のそれぞれの音量をコントロールするゲインノードを作って接続し、それらをcreateMediaStreamDestination()で生成した出力ノードに接続してミキシング、という順序になります。osc.noteOn(0);いよいよWebRTCさて、いよいよWebRTCの初期化です。ここでは詳細は省かせていただいて、要点に絞って説明します。RTCPeerConnectionの初期化やoffer/answerのやりとり等は通常の手順と同様で、RTCPeerConnection.addStream()で渡すストリームだけ変えればよい、ということになります。通常と同じようにRTCPeerConnectionインスタンスを生成し、必要な初期化を行います。addStream()で、先ほど生成したミキシングの出力ノードのストリームをここに渡せばよい、ということになります。output自体ではなく、output.streamを渡す点に注意が必要です。ミキシングの出力ノードのストリームをRTCPeerConnectionに追加peer.addStream(output.stream);あとは、引き続きoffer/answerを経てセッションを確立させれば、いつもどおりWebRTCで通話ができるようになるわけですが、ここでもう少々細工をして、好きなタイミングでマイクの音声の代わりに「ピー」が相手に聞こえるようにしてみます。ここでは「P」キーを押している間はマイクがミュートされて「ピー」が相手に聞こえる、というようにしています。APIを組み合わせる方法、でした。APIをWebRTCに組み合わせて、例えば、音楽ファイルがあれば保留音を相手に聞こえるようにする、等の使い方ができます。Shimizu@tomoyukilabsQiitaでは今のところ、主にWeb標準関連の記事を書いております。upLoginユーザーは見つかりませんでした。