音频文件无法在Safari中播放.. 它给出了错误。
TypeError: 'undefined' is not a function (evaluating 'myAudio.play()')
这是我的HTML代码。
<audio>
<source src="audio/horse.ogg" type="audio/ogg">
<source src="audio/horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
这是我的JavaScript代码
myAudio = document.getElementsByTagName('audio')[0];
if (typeof myAudio.loop == 'boolean'){
myAudio.loop = true;
}
else{
myAudio.addEventListener('ended', function() {
this.currentTime = 0;
this.play();
}, false);
}
myAudio.play();
我只有一个HTML音频标签。
答案 0 :(得分:1)
我的Windows PC上有类似的问题。
因此,为了测试,我创建了一个简单的HTML文件,其中包含一个红色的大点,然后单击它可以播放音频。它适用于所有HTML5兼容的浏览器,除了Safari之外。我花了一整天的时间尝试了100多个不同的解决方案,让它在野生动物园上工作,但没有运气。
最后,我安装了QuickTime(最新版本),它解决了50%的问题。
休息50%的问题是代码结构。
<audio id="audio1" src="audio/guestProfile.ogg" type="audio/ogg" ></audio>
<audio id="audio1" src="audio/guestProfile.mp3" type="audio/mpeg" ></audio>
它不喜欢上面的代码。所以我不得不把它改成以下:
<audio id="audio1">
<source src="audio/guestProfile.ogg" type="audio/ogg">
<source src="audio/guestProfile.mp3" type="audio/mpeg">
Your browser does not support the audio tag.
</audio>
这可能不是整洁的&amp;完美解决方案但它对我有用。
答案 1 :(得分:1)
它永远不会在Windows Safari上运行,因为最后一个Safari for Windows是在2010年发布的。这就是为什么HTML5:<audio>
或<video>
标签在Windows Safari中不起作用的原因。 Test yourself