我似乎无法让音频元素在Safari(v 5.1.2)中正常工作。我已经尝试将文件移动到与页面相同的文件夹,同时使用mp3和mpeg MIME类型,以及更改文件名。它似乎在所有其他浏览器中都能正常工作,但在Safari中创建了音频元素,但只显示它正在加载而不会播放。有什么想法吗?
<audio controls preload="metadata">
<source src="audio/song.mp3" type="audio/mpeg" />
<source src="audio/song.ogg" type="audio/ogg" />
</audio>
由于
答案 0 :(得分:8)
您的网站是否使用无效的HTTPS证书或HTTP身份验证?我遇到了这个问题,但发现Safari无效的HTTPS证书或基本身份验证(在登台服务器上)都有问题。
答案 1 :(得分:2)
Safari似乎无法使用preload="metadata"
可靠地加载声音。
您可以在任何网页的控制台中尝试:
var snd = document.createElement('audio'), src = document.createElement('source');
src.src = "http://www.largesound.com/ashborytour/sound/brobob.mp3";
src.type = "audio/mpeg";
snd.appendChild(src);
snd.preload = 'metadata';
snd.play();
它不起作用。然后:
snd.preload = null; // equivalent to 'auto'
瞧!它开始播放。
(我已将此提交为rdar:// problem / 11481585,这不是对我们任何人有帮助。)
答案 2 :(得分:0)
尝试快速安装苹果。我不知道桌面版本,但IOS版本使用quicktime来播放safari中的声音。
答案 3 :(得分:0)
是的,无效的HTTPS证书或HTTP Auth不适用于safari(在低端Linux设备上的自定义safari浏览器上测试)。 为了使其正常工作,请使用有效的https证书。