使用PhoneGap将音频录制到iOS上的文档文件夹

时间:2012-02-11 14:58:31

标签: iphone ios cordova

作为我使用PhoneGap创建的iPhone应用程序的一部分,我需要能够使用麦克风录制到新文件,该文件在手机上的应用程序文档文件夹中排序。

我认为我已将代码排序以实际捕获录制内容我只是在文档文件夹中创建空白.wav以进行录制时遇到问题。根据PhoneGap API,iOS要求音频的src文件已经存在。

任何人都可以使用创建此空白文件所需的几行代码来帮助我吗?到目前为止我的代码是 -

function recordAudio() {
    var src = "BLANK WAV IN DOCUMENTS FOLDER";
    var mediaRec = new Media(src, onSuccess, onError);

    // Record audio
    mediaRec.startRecord();

    // Stop recording after 10 sec
    var recTime = 0;
    var recInterval = setInterval(function() {
        recTime = recTime + 1;
        if (recTime >= 10) {
            clearInterval(recInterval);
            mediaRec.stopRecord();
        }
    }, 1000);
}

function onSuccess() {
    console.log("recordAudio():Audio Success");
}

// onError Callback 
function onError(error) {
    alert('code: '    + error.code    + '\n' + 
          'message: ' + error.message + '\n');
}

$('#record-button').
bind('tap', function(){
    recordAudio();
})

2 个答案:

答案 0 :(得分:3)

您可能需要先使用File API创建文件。

document.addEventListener("deviceready", function onDeviceReady() {
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, function fail(){});
}, false);

var gotFS = function (fileSystem) {
    fileSystem.root.getFile("blank.wav",
        { create: true, exclusive: false }, //create if it does not exist
        function success(entry) {
            var src = entry.toURI();
            console.log(src); //logs blank.wav's path starting with file://
        },
        function fail() {}
    );
};

答案 1 :(得分:0)

尝试使用这样的东西?
 var src = "blank.wav";而不是“BOLDK WAV IN DOCUMENTS FOLDER”?