2015-10-19 102 views
0

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

下面是一个的jsfiddle显示效果https://jsfiddle.net/abftb7sm/4/

+1

你有没有在所有 –

+0

我竟然忽略它,因为它仍然起着反正设置的类型,但如果我有错误的类型它起着以及 – lboyel

回答

2

一些测试后,并根据the specs似乎MediaElements的type属性只帮助浏览器,以确定它是否应该以及如何根本无法获取的数据。

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

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

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

铬似乎永远信任我们......