html5中的声音(一)
额,这是一个很久之前的项目了,但是因为这是第一个完全属于我自己的项目,所以我还是记录一下,用来怀冕一下,曾经那个少不更事的我,所做的那些事情。项目地址
#如何在页面上播放声音
嗯,传统的方式,flash
,额,因为我不会flash编程,所以直接放弃,我们来找点高大上一点的东西好不好~!所以,ie6,7,8什么的都去死吧~!
html5 audio 标签
在html5中,对于声音的定义很方便哦,用了一个标签来解决这个问题。嗯,简单看一下用法。1
<!--最简单的-->
<audio src="path/to/audio">
你的浏览器好像并不支持audio标签
</audio>
<!--附加点功能怎么样?-->
<audio autoplay loop contorls preload muted src="path/to/audio">
你的浏览器好像不支持audio标签
</audio>
看,是不是很简单,我去,这个标签简直简单到像<img src="path\to\image" \>
~!来解释一下那几个属性。
- autoplay 是否在音频加载完毕的时候自动播放。
- loop 是否循环播放
- contorls 是否显示浏览器的默认播放样式
- preload 是否预加载
- muted 是否静音
- src 这个就不用解释了吧,大家都懂
根据html5的规范,只要在标签内注明了的属性,其属性值则为true,不然则为false。当然这些属性自然是可以用js来修改的,我们稍后来解释。
html5 source 标签
嗯,其实还有扩展,我们知道啊,mp3是上个世纪的产物啦,无论从哪个角度来说,都已经远远不能满足我们的需求了。为了佐证,可以参考这个论坛的帖子。
嗯,所以为了使我们的音频能有更好的音质和更cool的元素,我们可以这样写我们的<audio>
标签。1
<audio>
<source src="path/to/aac" type="audio/mp4" />
<source src="path/to/ogg" type="audio/ogg" />
<source src="path/to/wav" type="audio/wav" />
<source src="path/to/mp3" type="audio/mp3" />
你的浏览器并不支持这个东西。
</audio>
通过<source>
标签来讲音频源引入,而且,这个地方可以引用多个音频源哦,加载顺序是由上至下寻址。根据渐进增强的原则,支持性最为广泛的mp3应该放在最底下,音质最好,但是支持性并不是很强的放在最顶上,当然,如果是在移动端,要重新思考这个问题,因为涉及到码率和取样率,文件大小等一堆的问题,这里就不赘述了。我比较推崇的方式是,当文件大小相差不大的时候尽量取音质好的。这里涉及到的几个采样率啊,码率啊,具体的解释可以参考知呼上的解释,和这个博客,还有这个。