[英]TypeError: undefined' is not a function (evaluating 'myAudio.play()')"
音频文件无法在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中只有一个音频标签。
我在Windows PC上也遇到类似的问题。
因此,为了进行测试,我创建了一个带有一个红色大点的简单HTML文件,然后单击该文件将播放音频。 它可用于所有HTML5兼容的浏览器(野生动物园除外)。 我花了整整一天的时间,尝试了100多种不同的解决方案,使其能够在Safari中使用,但是没有运气。
最后,我安装了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>
这可能不是一个完美的解决方案。 但这对我有用。
它永远不会在Windows Safari上运行,因为最新的Windows Safari于2010年发布。这就是HTML5: <audio>
或<video>
标记在Windows Safari中不起作用的原因。 测试自己
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.