如何将音频文件存储在使用火狐操作系统中的getUserMedia捕获的SDCARD中



>我正在创建一个应用程序,当我按下保存按钮时,它会将给定的 blob audion 数据存储到 Firefox 操作系统中的 SDcard 中,在这里我正在为它提供代码。

   var audioURL = window.URL.createObjectURL(e.data);
           audio.src = audioURL;
           audio.type="video/ogg";
           deleteButton.onclick = function(e) {
             evtTgt = e.target;
             evtTgt.parentNode.parentNode.removeChild(evtTgt.parentNode);
           }
           saveButton.onclick = function(e) {
             evtTgt = e.target;
             var sdcard = navigator.getDeviceStorage("sdcard");
            var file   = new Blob([audioURL], {type: "video/ogg"});
            var request = sdcard.addNamed(file, "my-file.ogg");
                request.onsuccess = function () {
                var name = this.result;
                console.log('File "' + name + '" successfully wrote on the sdcard storage area');
}

在这里我已经编写了代码,但这不是 working.so 请任何人可以提供帮助??

我假设您从传递给"dataavailable"事件的处理程序的MediaRecorder事件对象获取数据,如下所示:https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder/ondataavailable

在这种情况下,e.data 已经是一个 Blob,只需将其传递给 addNamed 函数,如下所述:https://developer.mozilla.org/en-US/docs/Web/API/DeviceStorage/addNamed

var audioData = e.data,
    audioURL = window.URL.createObjectURL(e.data);
audio.src = audioURL;
audio.type ="video/ogg";
deleteButton.onclick = function(e) {
    evtTgt = e.target;
    evtTgt.parentNode.parentNode.removeChild(evtTgt.parentNode);
}
saveButton.onclick = function(e) {
    evtTgt = e.target;
    var sdcard = navigator.getDeviceStorage("sdcard");
    var request = sdcard.addNamed(audioData, "my-file.ogg");
    request.onsuccess = function () {
        var name = this.result;
        console.log('File "' + name + '" successfully wrote on the sdcard storage area');
    }
}

但是,您应该仔细检查您的代码,因为它似乎具有不匹配的括号。

相关内容

最新更新