javascript - 为什么有 HTMLAudioElement 和单独的 Audio 类?

标签 javascript html5-audio web-audio-api

两者有什么区别?

根据mdn我通过执行以下操作创建一个新的 HTMLAudioElement:

var audio = new Audio();

这与我通过调用 document.createElement('audio') 获得的对象有何不同?

其中一个比另一个更适合 future 吗?在什么情况下我应该选择其中之一?

最佳答案

According to the spec (以及您链接到的 MDN 文章)new Audio() 构造函数只是创建一个 HTMLAudioElementDocument.createElement创建一个 HTMLxElement,因此它们是等效的。浏览器实现了完整的规范,所以 they aren't concerned .

new Audio() 的优点是可以说更具声明性(您不一定关心它与 DOM 的联系)。另一方面,没有 new Video(),因此为了保持一致性,您可能会发现使用 createElement 很有帮助。

关于javascript - 为什么有 HTMLAudioElement 和单独的 Audio 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35709942/

相关文章:

javascript - 如何使用javascript网络音频扭曲特定的频率范围?

audio-streaming - 网络音频 API 和 WebRTC

audio-recording - 从 AudioContext (Web Audio API) 录制声音

javascript - 附加mediaElementSource时,Web音频将被静音

javascript - 通过套接字传输时数组数据被复制(Socket.io)

javascript - 如何在没有express的情况下在nodejs中使用网络IP而不是localhost?

ruby-on-rails-3 - Rails link_to 和 audio_tag

javascript - 如何在对象中获取该值?

c# - CsQuery 还是 Jint? C# 中的 Javascript 数据操作

javascript - 在 Web Audio API 中精确播放/暂停/搜索大型音频文件的最佳方式