Javascript PhoneGap:media.startRecord()在cordova-1.6.1中不工作
我正在尝试用phoneGap录制一个示例音频,但没有成功 根据文档,我所做的非常简单: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
<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