音频标签:音频标签和Web Audio API是一样的吗?

7

我看到有人问过这个问题,但没有直接回答。我想知道HTML5音频标签是否仍在访问Web API?如果是这样的话,它与Web Audio API有什么不同呢?我只是想了解这两者之间的区别。


是的和不是。音频是一个HTML标签。Web音频API可以获取输出或提供播放器的内容。但两者都可以独立存在。您可以直接通过音频上下文输出音频,而无需使用音频标签。 - NVRM
2个回答

3
这两个概念是不同的。
例如,W3C提议的Web Audio sed标准的介绍中提到:HTML5中引入音频元素非常重要,可以实现基本的流式音频播放。但是,它并不足以处理更复杂的音频应用程序。
因此,这暗示了这两个概念之间的差异:
HTML5 Audio element = basic playback by embedding audio data in HTML.

Web Audio API = An ECMA Script (JavaScript) based API to support audio capabilities comparable to those of a modern stand-alone PC, such as:
  • 混音

  • 处理和过滤(例如,洞穴或大教堂效果等,距离衰减,多普勒效应等)...

与现代游戏音频引擎中发现的音频制作应用程序功能相关的任务。

请注意:这个API在所有浏览器和移动设备上仍然相对不受支持。

caniuse.com网站可能有助于确定HTML5和不同平台上各种相关技术的支持程度。 W3C为Web Audio起草标准的事实表明,这个API将在时间的推移下得到普遍接受和广泛支持,但目前还不是这种情况。

请参考以下链接以更好地理解: https://developers.google.com/web/updates/2012/02/HTML5-audio-and-the-Web-Audio-API-are-BFFs


3

它们可以完全独立使用。

  • HTML 页面可以使用 <audio> 标签,而无需涉及 Web Audio API。

  • JavaScript 可以使用 Web Audio API,而无需涉及 <audio> 标签。

以下是如何使用 Web Audio API:

var context = new AudioContext();
var osc = context.createOscillator();
osc.connect(context.destination);
osc.frequency.value = 440;
osc.start();

这将发出很大的声音,所以准备好关闭您的浏览器。在这里,振荡器是声音的来源。
两者之间唯一的交叉点是Web Audio API可以使用页面上的<audio>标签作为声音源。
请参见:createMediaElementSource 这对于向<audio><video>标签添加音频效果以及其他音频处理非常有用。

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