gpt4 book ai didi

javascript - 将 mp3 转换为 base64 - 文件阅读器

转载 作者:行者123 更新时间:2023-12-03 06:21:09 28 4
gpt4 key购买 nike

我正在开发一个应用程序,需要录制音频,然后将音频存储为对象的一部分,并上传到数据库。我试图首先警告文件的 base64,以确保已正确找到它。我正在使用 cordova 媒体捕获插件来访问设备上的录音机,并且能够录制音频,但是一旦录制完毕,我想在发送到数据库之前将其转换为 base64 格式。当我使用此方法时,它会提醒 Base64,但它是空的,只是“data:audio/mpeg;base64”,后面什么都没有,我不知道为什么它没有正确转换文件。

插件:https://github.com/apache/cordova-plugin-media-capture

function captureSuccess(capturedFiles) {

//Convert capturedFiles[0] into var containing file as base64

previewFile(capturedFiles);


alert("Audio Captured");
}

function captureError() {
alert("Audio Not Captured");
}

navigator.device.capture.captureAudio(captureSuccess, captureError, {
limit: 1,
duration: 20
});
});

/***********************************************************************************/

function previewFile(files) {
var preview = document.querySelector('img');
var file = files[0];
var reader = new FileReader();

reader.onload = function () {
alert(reader.result);
};

if (file) {
reader.readAsDataURL(file);
}
}

最佳答案

我对此有很多问题,并且在 StackOverFlow 上到处寻找答案,但找不到答案,所以对于将来遇到这个问题的任何人,我都能够解决它。问题是我想要转换为 Base64 的文件有一个“开始”和一个“结束”,它们都设置为 0,因此没有任何字节被访问。为了确保字节被访问,我将起始字节保留为 0(因此不要更改任何内容),并将结束字节设置为与文件大小相同。下面是已解决的代码:

$("#btnAudio").click(function () {


function captureSuccess(capturedFiles) {

var path = capturedFiles[0].fullPath;
//Convert capturedFiles[0] into var containing file as base64

previewFile(capturedFiles);


alert("Audio Captured");
}

function captureError() {
alert("Audio Not Captured");
}

navigator.device.capture.captureAudio(captureSuccess, captureError, {
limit: 1,
duration: 20
});
});

/***********************************************************************************/

function previewFile(files) {
var file = files[0];
var reader = new FileReader();
file.end = file.size;
var preview = document.querySelector('audio');

reader.onload = function () {

/*For testing I am just alerting reader.result, but if you want to store the
base64 just create a var and set its value to reader.result*/

alert(reader.result);
};
if (file) {
reader.readAsDataURL(file);
}
}

关于javascript - 将 mp3 转换为 base64 - 文件阅读器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38868711/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com