一、HTML5 多媒体之<audio>标签 使用
<audio> 标签定义声音,比如音乐或其他音频流。
<audio controls> <source src="horse.ogg" type="audio/ogg"> <source src="horse.mp3" type="audio/mpeg"> 您的浏览器不支持 audio 元素。 </audio>
提示:可以在开始标签和结束标签之间放置文本内容,这样老的浏览器就可以显示出不支持该标签的信息。
注意: Internet Explorer 8 及更早IE版本不支持 <audio> 元素.
谷歌:
火狐:
Edge:
属性
属性 | 值 | 描述 |
---|---|---|
autoplay | autoplay | 如果出现该属性,则音频在就绪后马上播放。注:新版本谷歌、火狐,不不支持次属性 |
controls | controls | 如果出现该属性,则向用户显示控件,比如播放按钮。 |
loop | loop | 如果出现该属性,则每当音频结束时重新开始播放。 |
preload | preload |
如果出现该属性,则音频在页面加载时进行加载,并预备播放。 如果使用 "autoplay",则忽略该属性。 |
src | url | 要播放的音频的 URL。 |
二、音频格式及浏览器支持
目前, <audio>元素支持三种音频格式文件: MP3, Wav, 和 Ogg:
浏览器 | MP3 | Wav | Ogg |
---|---|---|---|
Internet Explorer 9+ | YES | NO | NO |
Chrome 6+ | YES | YES | YES |
Firefox 3.6+ | YES | YES | YES |
Safari 5+ | YES | YES | NO |
Opera 10+ | YES | YES | YES |
音频格式的MIME类型
Format | MIME-type |
---|---|
MP3 | audio/mpeg |
Ogg | audio/ogg |
Wav | audio/wav |
三、Audio JavaScript API
<audio id="myAudio"></audio>
<script> var audio = document.getElementById('myAudio'); console.info(audio); audio.autoplay = true; audio.controls = true; audio.oncanplay = function (e) { console.info(e); //audio.play(); } audio.src = '../../img/audio/mouse.mp3'; </script>
四、AudioContext 播放音频
<script> //使用 AudioContext 实现 var ctx = new AudioContext(); //使用Ajax获取音频文件 //var url = 'http://cdn.jnqianle.cn/audio/mouse.mp3'; var url = 'http://cdn.jnqianle.cn/audio/notify1.mp3'; var request = new XMLHttpRequest(); request.open('GET', url, true); request.responseType = 'arraybuffer';//配置数据的返回类型 //加载完成 request.onload = function () { var arraybuffer = request.response; console.info(arraybuffer); ctx.decodeAudioData(arraybuffer, function (buffer) { //处理成功返回的数据类型为AudioBuffer console.info(buffer); //创建AudioBufferSourceNode对象 source = ctx.createBufferSource(); source.buffer = buffer; source.connect(ctx.destination); //指定位置开始播放 source.start(0); console.info(source); }, function (e) { console.info('处理出错'); }); } request.send(); </script>
更多: