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

Posted

技术标签:

【中文标题】使用 PhoneGap 将音频录制到 iOS 上的文档文件夹【英文标题】:Using PhoneGap to record audio to documents folder on iOS 【发布时间】:2012-02-11 14:58:31 【问题描述】:

作为我使用 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();
)

【问题讨论】:

嗨。我找到了您的问题并看到了您接受的答案。你能帮我解答吗?您是否使用上面的代码和给出的答案中的代码在 iOS 上完成了这项工作? 【参考方案1】:

您可能需要先使用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() 
    );
;

【讨论】:

你好。它似乎不适用于 entry.toURI()。它仅在我仅使用条目时才有效。你知道为什么会这样吗?【参考方案2】:

尝试过使用类似的东西吗?var src = "blank.wav"; 而不是“文档文件夹中的空白文件”?

【讨论】:

抱歉,“文档文件夹中的空白文件”对我来说只是一个占位符。我尝试只设置 src = "blank.wav" 但这不起作用,因为 iOS 需要先创建文件。 尝试使用 FileWriter API 创建文件?在你开始录制之前docs.phonegap.com/en/1.0.0/…

以上是关于使用 PhoneGap 将音频录制到 iOS 上的文档文件夹的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap 插件录制音频

使用phonegap在iphone上录制音频

iOS 上的 Phonegap 触发自定义事件

用PhoneGap录制音频

如何保存录制的音频iOS?

PhoneGap - 如何在 iOS 文档文件夹中创建新文件