我正在使用cordova-plugin-media在我的适用于 android 的 ionic 应用程序中录制语音(具有暂停和恢复功能)。录制完成后,我需要获取 base64 字符串才能使用 html 音频标签播放它。问题是:如果我试图将暂停和恢复的录音保存为 3gp 文件('voice.3gp'),那么当我使用cordova-plugin-file 的readAsDataURL 方法时,我什么也没有收到(回调根本没有调用)。如果我试图将其保存为 mp3 或 wav 文件,那么我只会收到录音的第一部分(暂停前)。我想正确的音频文件扩展名应该是 3gp,因为这个扩展名用于“cordova-plugin-media”的实现,但是我在使用 html 音频标签播放这个文件时遇到了问题。任何帮助都会得到帮助
问问题
2203 次
3 回答
0
好的,我刚刚发现您可以使用cordova-plugin-file的方法“resolveLocalFilesystemUrl”,它将返回对象,并且在该对象内部有一个属性“nativeURL”,可以用作源(src)视频标签(必须使用视频标签而不是音频,因为 3gp 格式实际上是用于视频的)
于 2018-02-25T00:07:09.103 回答
0
this.file.readAsDataURL(filePathtoUpload, this.fileName)
.then((base64Audio) => {
console.log(base64Audio);
})
.catch(function (err: TypeError) {
console.log("readAsDataURL: " + err);
});
这对我有用
于 2018-08-24T08:46:14.473 回答
0
阅读:https ://ionicframework.com/docs/v3/native/base64/
它是ionic的官方网站API。只需安装该插件并使用它:
this.base64.encodeFile(this.filePath + this.fileName).then(
(base64:any) =>{
console.log('file base64 encoding: ' + base64);
});
在这篇文章中,我解释得更好。我把链接放在这里: convert audio file to base64 in ionic 3
于 2019-03-01T10:40:56.690 回答