Chrome/Webkit 音频标签错误?

Posted

技术标签:

【中文标题】Chrome/Webkit 音频标签错误?【英文标题】:Chrome/Webkit audio tag bug? 【发布时间】:2011-01-26 05:27:38 【问题描述】:

我正在尝试让 html5 的音频标签在 Chrome 中工作。以下代码在 Firefox 中完美运行,您知道为什么它不能在 Webkit 中运行吗?

<html>
  <head>
    <script type="text/javascript">
    function init()
     audio = new Audio("chat.ogg");
     audio.play(); 
    
    </script>
</head>
<body onload="init()">
</body>

我还应该注意,我也尝试过使用 mp3。无论什么格式,只要在音频上调用 .play() ,Chrome 都会以“未定义”响应。

【问题讨论】:

你试过用&lt;audio&gt;标签代替JS吗? 我尝试了一个不同的文件,一个我没有制作的文件,它似乎可以工作。不知道为什么我用 Audacity 制作的 mp3 或 ogg 文件似乎不起作用。奇怪的是它们在 Firefox 中工作,而不是在 Chrome 中。 我认为 Chrome 中可能存在错误。看来,如果音频文件真的很短,它就不会播放,但如果它很长,它可以正常播放。 【参考方案1】:

您使用的是 Chrome 的发行版吗?使用 Linux[1] 上的当前开发版本,我得到了与 FF 3.7 alpha 相同的行为(好吧,一旦我用 noscript 解锁它)和 SeaMonkey 2.0;也就是说,播放 Ogg 文件,尽管甚至没有出现默认控件。如果它是 Chrome 或 Webkit 中的错误,它显然已在下一个版本中修复。

[1] Chrome:5.0.342.1(官方版本 40461)开发,Webkit:533.2

【讨论】:

是的。我在 OSX 10.5 上使用 5.0.342.1 dev【参考方案2】:

Chrome 中的错误,也可能是 Webkit: http://code.google.com/p/chromium/issues/detail?id=25972

无法播放短音频文件。

【讨论】:

【参考方案3】:

尝试在某处托管您的音频文件并尝试以下操作:

audio = new Audio('http://www.yourhosting.com/chat.ogg');
audio.play();

【讨论】:

以上是关于Chrome/Webkit 音频标签错误?的主要内容,如果未能解决你的问题,请参考以下文章

在 Chrome webkit 检查器中不断生成“不安全的 JavaScript 尝试使用 URL 访问框架...”错误

使用 Chrome/WebKit 调试 Access-Control-Allow-Origin

无法在 Safari 和 Chrome (WebKit) 中将 `margin` 添加到 `<legend>` 元素

CSS屏蔽Webkit浏览器input高亮和textarea缩放

为啥 HTML5 音频标签在 iOS 上显示错误?

在 Chrome/WebKit/Safari 中禁用锚点