navigator.device.capture.captureAudio
サウンドを録音してファイルパスを取得するために使用します。ただし、Media.play() で再生しようとすると、ブロック全体がスキップされます。詳細については、コードのスニペットを次に示します。
navigator.device.capture.captureAudio(function(mediaFile){
var checkerVar = "original value";
var fullPath = mediaFile[0].fullPath;
var mediaTest = new Media(fullPath, function(){
checkerVar = "new success value";
alert("Media loaded. Playing now.");
mediaTest.play();
}, function(){
checkerVar = "new error value";
alert("Error with playback.");
});
alert(checkerVar);
}, function(error){
alert("Error:\n\n"+error);
}, {limit: 1});
上記のコードでは、「新しい成功値」または「新しいエラー値」の代わりに「元の値」がプロンプトとして表示されるため、ブロック全体をスキップすると思われますmediaTest
。私はすでに値を取得しようとしましたが、fullPath
実際に新しく録音された *.3gpp サウンド ファイルへのパスを示しています。これは、3gpp をサポートするかどうか疑問に思います。
3gpp をサポートしていない場合、どのようなオプションがありますか?
編集: 3gppをサポートしています。var mediaTest
コードのブロック全体をスキップする理由は何ですか?