我用 navigator.device.capture.captureAudio
录制声音并获取文件路径。但是,当我尝试通过 Media.play() 播放它时,它会跳过整个 block 。这是我的代码 fragment 以获取更多信息。
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
的整个 block .我已经尝试获取 fullPath
的值它确实显示了新录制的 *.3gpp 声音文件的路径。这让我怀疑它是否支持 3gpp?如果它不支持 3gpp,我有什么选择?
编辑:所以它支持3gpp。知道为什么它会跳过
var mediaTest
的整个 block 代码?
最佳答案
检查支持的格式..
http://developer.android.com/guide/appendix/media-formats.html
http://docs.phonegap.com/en/1.0.0/phonegap_media_capture_capture.md.html#MediaFile.getFormatData
是的,它也支持 3gp
关于android - PhoneGap 的 Media 类是否支持 3gpp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14274084/