Cordova:在 iOS 中存储录制的音频文件的正确位置是啥?
Posted
技术标签:
【中文标题】Cordova:在 iOS 中存储录制的音频文件的正确位置是啥?【英文标题】:Cordova: What is the right location to store recorded Audio files in iOS?Cordova:在 iOS 中存储录制的音频文件的正确位置是什么? 【发布时间】:2016-03-09 01:53:24 【问题描述】:我正在使用媒体插件来录制声音。
var my_media = new Media('test.wav');
my_media.startRecord();
my_media.stopRecord() // after few seconds
my_media.release();
my_media.play();//works fine
// But when I try to Check if test.wav file exist I always get false as status.
//File name of our important data file we didn't ship with the app
var fileName = "test.wav";
function init()
console.log("Checking for data file.");
//Check for the file.
window.resolveLocalFileSystemURL(fileName, onSuccess, onFail);
function onSuccess()
console.log("Great! This file exists");
function onFail()
console.log('Sorry! File not Found');
// I always get this message: Sorry! File not Found
这样做的正确方法是什么?录制后,我希望用户能够看到可用录制声音的列表,并且用户应该能够播放它。为此,我需要检查文件是否存在。 那么我们应该如何实现呢?
【问题讨论】:
【参考方案1】:您可以将记录的文件列表显示为:
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem)
fileSystem.root.getDirectory(YOUR_PATH,
create: true
, function(directory)
root_path = fileSystem.root.toURL();
var directoryReader = directory.createReader();
directoryReader.readEntries(function(entries)
var i;
for (i = 0; i < entries.length; i++)
//Get file URL as: entries[i].toURL()); & display using creating dynamic tag.
, function(error)
alert(error.code);
);
);
, function(error)
alert("can't even get the file system: " + error.code);
);
【讨论】:
我尝试运行您的代码,但收到此错误:“SyntaxError: Unexpected token ',' 您是否将“YOUR_PATH”替换为录音所在的实际路径?并确保 root_path 不为空。 安装两个插件 1) cordova-plugin-file 2) cordova-plugin-file-transfer。 那么请指定你得到 SyntaxError 的那一行。 test.wav 您需要存储在内部存储中,该路径可以是您的 YOUR_PATH。就我而言,我已将音频文件存储到测试文件夹。所以我的 YOUR_PATH 是测试。以上是关于Cordova:在 iOS 中存储录制的音频文件的正确位置是啥?的主要内容,如果未能解决你的问题,请参考以下文章