HTML5 多媒体之<audio>标签 使用

一、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:

浏览器MP3WavOgg
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类型

FormatMIME-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>

 

 

 

更多:

HTML5 <Audio>标签API整理(三)  

HTML5 WebAudioAPI简介(一)

HTML5 <Audio>标签API整理(一)

posted @ 2020-08-22 09:52  天马3798  阅读(299)  评论(0编辑  收藏  举报