49527


Webブラウザで出力される音をJavaScriptで録音する方法を探しています。要件は次の通りです。

  1. Webブラウザからは、Web Audio Apiによって作成されたMIDI音が流れる
  2. 1.の音を録音（キャプチャ）したい
  3. 1.の音はブラウザによって再生されるが、ブラウザの音をスピーカでは **流さない** 。そのため、マイクからスピーカの音を拾って録音する方法は使えない
  4. JavaScriptを用いて録音する

マイクからの音を拾えるなら、getUserMediaなどで録音が可能ですが、今回はそれが使えません。  
類似の質問として[これ](https://ja.stackoverflow.com/questions/28194/%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%A7%E3%83%9E%E3%82%A4%E3%82%AF%E4%BB%A5%E5%A4%96%E3%81%AE%E9%9F%B3%E3%82%92%E9%8C%B2%E9%9F%B3%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%8B
"ブラウザでマイク以外の音を録音できるか")がありますが、録音する音はWebブラウザを介して出力される音のみに限定して構いません。

何卒ご教示のほど、よろしくお願いいたします。


CC BY-SA 4.0
2018-10-22T05:01:42.057
49519
2020-02-22T05:18:35.300
2020-02-22T05:18:35.300
3060
30625
question
javascript html
Webブラウザで出力される音をJavaScriptで録音する方法


Web Audio
APIを使って出力された音を録音したいということでしたら、[MediaStreamAudioDestinationNode](https://developer.mozilla.org/en-
US/docs/Web/API/MediaStreamAudioDestinationNode)が利用可能です。

このノードを音声の出力先として用いることで、Web Audio
APIが生成した音声を[MediaStream](https://developer.mozilla.org/en-
US/docs/Web/API/MediaStream)として取り出すことができます。このMediaStreamは、getUserMediaによって得たものと同様に利用可能です。

実際、[MDNのMediaStreamAudioDestinationNodeのページ](https://developer.mozilla.org/en-
US/docs/Web/API/MediaStreamAudioDestinationNode)には、We Audio
APIで出力した音を録音して音声ファイル化するサンプルが記載されています。


CC BY-SA 4.0
2018-10-22T07:57:31.660
49527
2018-10-22T07:57:31.660
30079
49519
answer