如何在科尔多瓦手机上本地加载 base64 音频

How to load base64 audio locally on cordova mobile?

本文关键字:加载 音频 base64 手机      更新时间:2023-09-26

我一直在尝试加载已经在base64中编码的音频文件,但无济于事。我可以轻松加载编码的图像,但我不能用音频来加载。我使用 cordova 音频找到的示例是将 url 链接传递给资产文件夹,但我尝试过,但它不起作用。

有没有办法直接播放以base64编码的音频文件?

我尝试了cordova插件媒体,但它似乎仅适用于文件,而不适用于base64代码。

最后我找到了这个解决方案:

解决方案 1:

var src = "data:audio/mp3;base64," + your_base64_code;
document.write("<audio preload='auto' autoplay><source src='" + src + "' /></audio>");

解决方案 2:

1)将base64代码转换为音频文件,将其保存在缓存文件夹中。您可以阅读本文来执行此操作: 如何在带有Cordova的设备上从mp3 base64字符串创建音频文件

您可以用作目标文件夹:cordova.file.cacheDirectory

例如:

saveBase64AsAudioFile(cordova.file.cacheDirectory, "audiofile.mp3", your_base64_code, "audio/mp3");

2) 使用cordova插件媒体播放创建的文件:

setTimeout(function () {
   var src = cordova.file.cacheDirectory + "audiofile.mp3";
   var media = new Media(src);
   media.play();
}, 2000);
  • 使用 setTimeout 确保文件已创建。