2012-05-28 17 views
16

私は多くのDEMOとgetUserMediaのサンプルを検索しましたが、ほとんどはマイクではなくカメラのキャプチャだけです。HTML5のgetUserMediaは音声録音に対応していますか?

だから私はいくつかの例をダウンロードし、自分のコンピュータ上で試してみました、カメラのキャプチャは仕事、 である。しかし、私は

navigator.webkitGetUserMedia({audio : true},gotStream); 

navigator.webkitGetUserMedia({video : true},gotStream); 

を変更したときにブラウザが最初のマイクへのアクセスを許可するように私に尋ねます、それから失敗しました

document.getElementById("audio").src = window.webkitURL.createObjectURL(stream); 

年齢は次のとおりです。

GET blob:http%3A//localhost/a5077b7e-097a-4281-b444-8c1d3e327eb4 404 (Not Found) 

これは私のコードです:getUserMedia_simple_audio_test

私が何か間違ったことをしましたか?または、今すぐgetUserMediaだけでカメラで作業できますか?

+0

でも、あなたは入れ[ ' "ビデオ、オーディオ"'、それ](http://jsfiddle.net/DerekL/JV996/)はまだ( 'audio'一部を取得することはありません –

+0

クロムバージョン19では、 'xxx'が動作します。しかし、バージョン21では、{xxx:true}のみが動作します。これはChromeを更新した後に見つけたものです。 – user1422542

答えて

10

現在のところ、Google Chromeでは使用できません。 Issue 112367を参照してください。見つからないのhttp%3A // whatever.it.is/b0058260-9579-419b-b409-18024ef7c6da 404(:

あなたはthe demoで見ることができる、それは常に

GETブロブをというエラーがスローされます)

そしてまた、あなたがマイクを聞くことができませんいずれか

{ 
    video: true, 
    audio: true 
} 
+2

ありがとう!!私はそれがすぐにクロムで利用できることを願っています。 – user1422542

0

にそれが働いて、あなただけの後toStringパラメータを追加する必要があります

チェックこの記事 - それは、現在のクロムカナリアでサポートされてlink

+3

'toString'は古いパラメータフォーマット(' 'video、audio' ')と新しいフォーマット(' {video:true、audio:true} ')を一緒にサポートするためのハックです。 Chromeでは、オーディオはまだ実装されていないため、突然動作する「トリック」はありません。 – pimvdb

5

。アドレスバーにabout:フラグをタイプしてWeb Audio Inputを有効にする必要があります。

次のコードは、オーディオ入力をスピーカーに接続します。フィードバックのために見てみましょう!

<script> 
// this is to store a reference to the input so we can kill it later 
var liveSource; 
// creates an audiocontext and hooks up the audio input 
function connectAudioInToSpeakers(){ 
    var context = new webkitAudioContext(); 
    navigator.webkitGetUserMedia({audio: true}, function(stream) { 
    console.log("Connected live audio input"); 
    liveSource = context.createMediaStreamSource(stream); 
    liveSource.connect(context.destination); 
    }); 
} 
// disconnects the audio input 
function makeItStop(){ 
    console.log("killing audio!"); 
    liveSource.disconnect(); 
} 
// run this when the page loads 
connectAudioInToSpeakers(); 
</script> 
<input type="button" value="please make it stop!" onclick="makeItStop()"/> 
+0

私はそうは思わない...オーディオ再生フォームマイクはい; (そして、マックのためのクロムとクロムカナリアンだけで)録音しますか?それは可能だとは思わない。 – Thomas

1

(申し訳ありませんが、私は私の適切なユーザ名で投稿し、ログインを忘れてしまった...)

現在では、クロムカナリアでサポートされています。アドレスバーにabout:flagsと入力し、Web音声入力を有効にする必要があります。

次のコードは、オーディオ入力をスピーカーに接続します。フィードバックのために見てみましょう!

http://jsfiddle.net/2mLtM/

<script> 
// this is to store a reference to the input so we can kill it later 
var liveSource; 
// creates an audiocontext and hooks up the audio input 
function connectAudioInToSpeakers(){ 
    var context = new webkitAudioContext(); 
    navigator.webkitGetUserMedia({audio: true}, function(stream) { 
    console.log("Connected live audio input"); 
    liveSource = context.createMediaStreamSource(stream); 
    liveSource.connect(context.destination); 
    }); 
} 
// disconnects the audio input 
function makeItStop(){ 
    console.log("killing audio!"); 
    liveSource.disconnect(); 
} 
// run this when the page loads 
connectAudioInToSpeakers(); 
</script> 
<input type="button" value="please make it stop!" onclick="makeItStop()"/> 
関連する問題