我正在开发一个播放音频的应用,其源是数据URI,而某些URI不在Chrome中播放(调试器显示音频错误4)。但是在Firefox中它可以工作,并且数据URI似乎没问题,因为即使是Chrome,当URI被粘贴到地址栏中时,也会播放音频。
这个小提琴(http://jsfiddle.net/nyxglow/sd8c4cur/)表现出类似但不相同的行为:
a)Firefox(41.0.2)对“数据URI”没有问题(URL在jsfiddle中不起作用,因为我无法附加源音频文件)
b)Chrome(46.0.2490.71(64位))只播放一次
谢谢
代码:
<script>
function playURI() {
var elem = document.getElementById('audioURI');
elem.src = '-;
if (elem.error !== null) {
console.log('Error ' + elem.error.code);
} else {
elem.play();
}
}
function playURL() {
var elem = document.getElementById('audioURL');
elem.src = "voluntary-187.mp3"
if (elem.error !== null) {
console.log('Error ' + elem.error.code);
} else {
elem.play();
}
}
</script>
<body>
<div>
<button onclick="playURI()">Data URI</button>
<audio id="audioURI"></audio>
<button onclick="playURL()">URL</button>
<audio id="audioURL"></audio>
</div>
</body>