HTML Audio元素可以播放错误的音频格式

时间:2015-10-19 01:33:51

标签: javascript html html5 dom audio

我想知道当src元素的type属性设置为错误的格式时,它可能的HTML音频元素如何播放歌曲?

例如,我将mp4音频文件的type属性设置为audio / wav,即使我没有指定回退源,它仍会播放?此外,如果您省略了类型,它仍然可以找出正确的音频格式。

所以我的问题是源元素的type属性的目的是什么?

<audio controls="controls">
  Your browser does not support the <code>audio</code> element.
  <source src="http://a898.phobos.apple.com/us/r1000/039/Music6/v4/13/22/67/1322678b-e40d-fb4d-8d9b-3268fe03b000/mzaf_8818596367816221008.plus.aac.p.m4a">
</audio>

这是一个显示效果https://jsfiddle.net/abftb7sm/4/

的jsfiddle

1 个答案:

答案 0 :(得分:2)

经过一些测试后,根据the specs,MediaElements的type属性似乎有助于浏览器确定是否应该以及如何提取数据。

  

type属性提供媒体资源的类型,以帮助用户代理确定它是否可以在获取之前播放此媒体资源。

在Firefox上,
将其设置为任何有效值但不符合实际文件类型将使UA获取数据为plain。然后,当被要求播放时,UA会仔细检查数据类型,并能够覆盖您提供的type

将其设置为某个无效值(例如"Audio/mpeg"而不是"audio/mpeg")会使您的UA甚至无法获取任何数据。这里没有仔细检查。

Chrome似乎永远不会相信我们......