2

最新のChromeベータ版(バージョン21.0.1180.15)のマイクを介してオーディオを録音しようとしています。現在、それを行うためのほとんどすべてがChromeベータ版に実装されているようです。マイクにもアクセスできます。audioストリームを要素に接続することはできませんが。しかし、私の理解では、バグがなければ機能するはずです。

createMediaStreamSource()まだ実装されていません。createMediaElementSource()回避策として、マイクからのオーディオをミュートされたaudio要素を介してルーティングするために使用したいと思います。

以下のコードを使用すると、コンソールに次の2つのエラーメッセージのいずれかが表示されます。

GET blob:file%3A /// 625fd498-f427-43d5-959b-3b49c6d53ab5 404(見つかりません)

また

ローカルリソースの読み込みは許可されていません:blob:null / 8df582cc-b663-489b-bf49-1785226fc7b7

エラーの原因は次のとおりです。

audio.src = window.webkitURL.createObjectURL(stream)

この行に何か問題がありますか?ストリームをaudio要素ソースに接続するにはどうすればよいですか?それとも、オブジェクトURLを作成できなくなるのはChromeのバグですか?

コード:

var context = null;
var elementSource = null;

function onError(e) {
  if (e.code == 1) {
    alert('User denied access to their camera');
  } else {
    alert('getUserMedia() not supported by your browser');
  }
}

window.addEventListener('load', initAudio, false);
function initAudio() {
  navigator.webkitGetUserMedia({audio:true}, function (stream) {
    var audio = document.querySelector('#basic-stream');
    audio.src = window.webkitURL.createObjectURL(stream);
    audio.controls = true;
    context = new webkitAudioContext();
    elementSource = context.createMediaElementSource(audio);
    elementSource.connect(context.destination);
  }, onError);
}
<div>
    audio id="basic-stream" class="audiostream" autoplay muted></audio>
</div>

4

2 に答える 2

2

絶対に必要でない場合は、四角いホイールを再発明しないでください:https ://github.com/mattdiamond/Recorderjs

于 2013-01-31T15:14:18.003 に答える
1

これが関連しているかどうかはわかりませんが、オーディオのgetUserMedia()に関して未解決の問題があります。

http://code.google.com/p/chromium/issues/detail?id=112367

于 2012-07-11T17:26:35.083 に答える