0

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代码块吗?

4

1 回答 1

0

检查支持的格式..

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

于 2013-01-11T08:18:48.837 回答