Javascript PhoneGap:media.startRecord()在cordova-1.6.1中不工作

Javascript PhoneGap:media.startRecord()在cordova-1.6.1中不工作,javascript,ios,cordova,Javascript,Ios,Cordova,我正在尝试用phoneGap录制一个示例音频,但没有成功 根据文档,我所做的非常简单: <script> var media = null; function record(){ media = new Media("audio.wav"); media.startRecord(); } </script> 即使出现了这个错误,录音仍在继续。但是当我尝试播放录音时,我会在调试器上观看媒体对象,并看到“\u duration:-1” 当我尝试在实际的iPho

我正在尝试用phoneGap录制一个示例音频,但没有成功

根据文档,我所做的非常简单:

<script>
var media = null;

function record(){
   media = new Media("audio.wav");
   media.startRecord();
}
</script>
即使出现了这个错误,录音仍在继续。但是当我尝试播放录音时,我会在调试器上观看媒体对象,并看到“\u duration:-1”


当我尝试在实际的iPhone设备上调试应用程序时,会出现另一个错误

您需要在根目录中创建一个空白wav文件,而不是www文件夹。获取根目录URI的方法之一是使用该方法

这就是URI的外观:

file:///data/some/com.stack.overflow/
下面是如何在根目录中创建空白wav文件的示例:

function onDeviceReady() {
  window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}

function gotFS(fileSystem) {
  fileSystem.root.getFile("blank.wav", {create: true, exclusive: false}, gotFileEntry, fail);
}
注:

已经存在。(布尔值)


事实上,问题是,即使我正确地在根目录上创建了您所描述的文件,我以后也无法访问它,即使我得到了它的URI(由于某种原因,找不到该文件,该文件是在一秒钟前创建的同一个目录上!!!!)。 所以我发现(不是简单的方法…)我必须通过
“documents://”
访问它。因此,当我创建一个新媒体时,我会做一些类似的事情:

var mediaFile=新媒体(“文档:/”+audioFileName)。

如果我做了“
var mediaFile=new Media(fileURI\u我刚刚创建)
它会说这个文件不存在!!!!(一定喜欢phoneGap!)

function onDeviceReady() {
  window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}

function gotFS(fileSystem) {
  fileSystem.root.getFile("blank.wav", {create: true, exclusive: false}, gotFileEntry, fail);
}
create: Used to indicate that the file or directory should be created, if it does not exist. (boolean)
exclusive: By itself, exclusive has no effect. Used with create, it causes the file or directory creation to fail if the target path