我一直在尝试加载已在base64中编码的音频文件,但无济于事。我可以轻松加载编码图像,但我不能用音频来做。我发现cordova音频的例子是将url链接传递给资产文件夹,但是我尝试了它并且它没有用。
有没有办法直接播放base64编码的音频文件?
答案 0 :(得分:2)
我尝试过cordova-plugin-media,但它似乎只适用于文件,而不适用于base64代码。
最后我找到了这个解决方案:
解决方案1:
var src = "data:audio/mp3;base64," + your_base64_code;
document.write("<audio preload='auto' autoplay><source src='" + src + "' /></audio>");
解决方案2:
1)将base64代码转换为音频文件,并将其保存在缓存文件夹中。 您可以阅读本文来执行此操作:How to create an audio file from a mp3 base64 string on the device with Cordova
您可以将其用作目标文件夹: cordova.file.cacheDirectory
例如:
saveBase64AsAudioFile(cordova.file.cacheDirectory, "audiofile.mp3", your_base64_code, "audio/mp3");
2)使用cordova-plugin-media播放创建的文件:
setTimeout(function () {
var src = cordova.file.cacheDirectory + "audiofile.mp3";
var media = new Media(src);
media.play();
}, 2000);