MediaStreamAudioSourceNode を複製する理由
Railsでマイク入力を録音したいのでまずrecorderjsを使ったサンプルAudioRecorderのサンプルを確認して、次にAudioRecorderのmain.jsののソースを読もうとしてるのですが、HTML5のAudioContextを全く知らないため読み進めても行けない状態です。
最低限recorderjsにマイクから録音したデータを流すだけの理解が欲しい状態です。
https://github.com/cwilso/AudioRecorder/blob/master/js/main.js#L138-L152
var audioContext = new AudioContext();
function gotStream(stream) {
inputPoint = audioContext.createGain();
// Create an AudioNode from the stream.
realAudioInput = audioContext.createMediaStreamSource(stream);
audioInput = realAudioInput;
audioInput.connect(inputPoint);
// audioInput = convertToMono( input );
analyserNode = audioContext.createAnalyser();
analyserNode.fftSize = 2048;
inputPoint.connect( analyserNode );
audioRecorder = new Recorder( inputPoint );
createGainがボリュームを司るGainNodeを作り、createMediaStreamSourceがMediaStreamAudioSourceNodeを作るなど、ぼんやりとわかるんですが
何故ここで取得したNodeの複製を行っているのでしょうか?
audioInput = realAudioInput;
audioInput.connect(inputPoint);
まっと簡単な問題解決の道のりがあるなら、そちらを教えて下さい。