全面的HTML5音频API

5

就我个人而言,我找不到所有html5 <audio>事件和属性的完整列表(尽管它们可能在不同的浏览器之间有所不同)。 我搜索了很多,但很多网站都在谈论“使用javascript音频api”或“与javascript音频api一起使用”等,并展示了一些例子,但我没有找到方法列表或它们的作用。

例如:

var a = document.getElementById('audio');
a.ended = function () { alert('foo!'); }; //FAIL
a.onended = function () { alert('foo!'); }; //FAIL
a.addEventListener('ended', function () { alert('foo!'}); }; //PASS
a.addEventListener('play', function () { alert('foo!'}); };

为什么没有 onended ?为什么叫做 play 而不是 played ?这些都不是很直观,因此实际的 API 列表会很有帮助。

此外,是否有一些浏览器不支持上述属性?我的黑莓手机和移动版 IE9 不会在结束事件上发出警报,但 Chrome、Firefox 和 iPad Safari 都会。


HTML 5的支持仍然普遍非常糟糕,而IE也不是以符合标准著称。新的HTML 5媒体对象事件处理程序列表可以在这里找到(http://www.w3schools.com/html5/html5_ref_eventattributes.asp),但我不希望至少一两年内得到广泛支持。 - iandisme
<audio> 元素及其 JavaScript API 相对较新,支持在一段时间内可能是不稳定的。 - Paul D. Waite
3个回答

8

0

从Matt的fine canIuse链接中可以看出:

"HTML5目前在不同浏览器上对音频的支持存在一些问题..."

因此,你应该看看sound.js ;)

"...但是SoundJS致力于抽象化这些问题,使得在游戏或丰富体验中添加声音变得更加容易。"

--> Polyfill : SoundJS


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接