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 中存储录制的音频文件的正确位置是啥?的主要内容,如果未能解决你的问题,请参考以下文章

使用cordova媒体插件录制音频会导致空文件

使用PhoneGap在iOS上录制音频[关闭]

Ionic2:iOS 应用程序在使用cordova-plugin-media 录制音频并再次播放时崩溃

如何保存录制的音频iOS?

Cordova 插件和依赖项

在 iOS 中录制视频时播放音频文件