我在最新的Chrome 46.0.2490.86 m
上播放base64音频文件时遇到问题此音频文件只能播放1次。它不会第二次播放。
我们需要刷新浏览器再次中继。 此文件在以前版本的Chrome上运行良好(可以多次重播而无需刷新浏览器)。
这是我的代码:
window.playAudio1 = function () {
var audio = document.getElementById("audio");
audio.src = "<base64 mp3 audio>";
audio.play();
}
window.playAudio2 = function () {
var audio = document.getElementById("audio");
audio.src = "<base64 mp3 audio>";
audio.play();
}
答案 0 :(得分:1)
我最近遇到了同样的问题。
我能让它工作的唯一方法是在base64信息中包含一些随机信息。
e.g。
function beep()
{
try
{
var snd = new Audio("data:audio/wav;rnd=" + getRandom(1,100000) + ";base64,<<raw base64 data>>");
snd.load();
snd.currentTime = 0;
snd.play();
}
catch(e)
{
alert(e);
}
}
function getRandom(min, max) {
return Math.random() * (max - min) + min;
}
我也尝试添加.load()和.currentTime = 0,但说实话,我不认为它们是修复所必需的,但是没有尝试过。
享受!