Google Chrome Stable不会在Chrome应用中播放<audio>,但Chrome Beta / Dev可以</audio>

时间:2012-01-17 03:55:27

标签: ajax html5 google-chrome audio

我正在尝试使用Google Chrome稳定版(16.0.912.75)播放mp3。

这是我的示例代码

<html><head><title></title></head>
<body>

    <audio autoplay controls src=""></audio>
    <ul>
        <li>file:///E:/Songs/Aerosmith/DreamOn.mp3</li>
        <li>file:///E:/Songs/Aerosmith/Cryin'.mp3</li>
    </ul>
    <script type="text/javascript">
        var audioElement = document.getElementsByTagName('audio')[0];
        audioElement.src="file:///E:/Songs/Aerosmith/DreamOn.mp3";
        audioElement.load();
        audioElement.play();
    </script>
</body>
</html>

问题

上述代码在Chrome Beta / Dev和Chromium快照(Chrome编解码器替换编解码器)中运行良好 但是SomeHow,
该应用不会在Google Chrome稳定版中播放音频。 但是,

当指向未打包应用程序的代码时...例如file:// D:/App/index.html 该应用程序播放音频

测试

1.在HTML中指定src

<audio autoplay controls src="file:///E:/Songs/Aerosmith/DreamOn.mp3"></audio>

2.通过Javascript动态指定src

$('li').click(function(){
    $('audio')[0].src=$(this).innerText;
    $('audio')[0].play();
});

在Google Chrome稳定版中将代码加载为Chrome应用时,这两种方法都失败

但谷歌Chrome Beta / Dev和Chromium快照中的工作正常。

这种行为可能是什么原因???

1 个答案:

答案 0 :(得分:0)

最明显的原因是,当前稳定版中存在一个错误,该漏洞在较新版本中得到解决(尝试使用canary build)