全面的html5音频API

Comprehensive html5 Audio API

本文关键字:音频 API html5      更新时间:2023-09-26

对于我的生活,我无法找到所有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列表会有很大帮助。

另外,有些浏览器不尊重上述属性吗?我的黑莓手机和mobile-ie9不会在结束事件时发出警报,但chrome、ffx和ipad-safari都有。

    HTML5规范:audio元素
  • 我什么时候可以使用…音频兼容性表(和外部资源链接)

不幸的是,您将亲身经历这样一个事实,即音频根本没有官方的JavaScript API(目前)。

从Matt的canIuse链接

可以看出

"对音频的一致跨浏览器支持目前是一个混乱HTML5……"

所以你应该看看sound.js;)

"……但SoundJS的工作抽象的问题,使在游戏中添加声音或丰富的体验变得更加容易。"

-> Polyfill: SoundJS

w3schools有一个有用的音频/视频事件,属性和方法列表。虽然它没有解决跨浏览器的问题:

http://www.w3schools.com/tags/ref_av_dom.asp