HTML5 Audio标签方法和函数API介绍

 问说网 > 文章教程 > 网页制作 > HTML5 Audio标签方法和函数API介绍

Audio APIHTML5HTML5 Audio预加载

HTML5 Audio标签方法和函数API介绍

问说网 • 2014-06-19 09:53:52 • 3561 浏览

文章目录

最近想弄一个类似在线播放MP3的应用,刚开始想用flash播放器,但是已经很就没有弄flash了,用起来很老火,于是想到了HTML5的audio标签也可以播放音乐,在这里就介绍一下HTML5 Audio标签方法和函数API。

audio常用属性

那么首先来看一下audio标签中的一些常用属性:

属性 属性值 注释
src url 播放的音乐的url地址(火狐只支持ogg的音乐,而IE9只支持MP3格式的音乐。chrome貌似全支持)
preload preload 预加载(在页面被加载时进行加载或者说缓冲音频),如果使用了autoplay的话那么该属性失效。
loop loop 循环播放
controls controls 是否显示默认控制条(控制按钮)
autoplay autoplay 自动播放

audio音乐格式的支持

来看下对于音乐格式的支持:

音频格式 Chrome Firefox IE9 Opera Safari
OGG 支持 支持 支持 不支持 不支持
MP3 支持 不支持 支持 不支持 支持
WAV 不支持 支持 不支持 支持 不支

audio可通过new来创建。也可以通过用document来获取。

//通过new关键字来创建Audio对象
var Music = new Audio("test.mp3");
//通过document来获取已经存在的Audio对象
var Music = document.getElementById("audio");
//当然这里也可以使用document.getElementsByClassName('className')等其他的方法来获取。

然后我们来看下api所提供的对audio标签操作的一些属性和方法

audio属性

属性 注释
duration 获取媒体文件的总时长,以s为单位,如果无法获取,返回NaN
paused 如果媒体文件被暂停,那么paused属性返回true,反之则返回false
ended 如果媒体文件播放完毕返回true
muted 用来获取或设置静音状态。值为boolean
volume 控制音量的属性值为0-1;0为音量最小,1为音量最大
startTime 返回起始播放时间
error 返回错误代码,为uull的时候为正常。否则可以通过Music.error.code来获取具体的错误代码:
1.用户终止 2.网络错误 3.解码错误 4.URL无效
currentTime 用来获取或控制当前播放的时间,单位为s。
currentSrc 以字符串形式返回正在播放或已加载的文件

那么来看下这边常用的控制用的函数:

函数 作用
load() 加载音频、视频软件
play() 加载并播放音频、视频文件或重新播放暂停的的音频、视频
pause() 暂停出于播放状态的音频、视频文件
canPlayType(obj) 测试是否支持给定的Mini类型的文件

关于audio标签API中的常用事件。

首先绑定事件的话可以通过js中的addEventListener方法来绑定事件。

Music.addEventListener(string:事件类型/名称,function:具体事件促发时的执行,boolean:是否使用捕捉,默认为false);

参数说明

1、type:String 事件的类型。
2、listener:Function 侦听到事件后处理事件的函数。 此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果,如以下示例所示: 访问修饰符 function 函数名(evt:Event):void
3、useCapture:Boolean (default = false)

这里牵扯到“事件流”的概念。侦听器在侦听时有三个阶段:捕获阶段、目标阶段和冒泡阶段。顺序为:捕获阶段(根节点到子节点检查是否调用了监听 函数)→目标阶段(目标本身)→冒泡阶段(目标本身到根节点)。此处的参数确定侦听器是运行于捕获阶段、目标阶段还是冒泡阶段。 如果将 useCapture 设置为 true,则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。 如果useCapture 为 false,则侦听器只在目标或冒泡阶段处理事件。

要在所有三个阶段都侦听事件,请调用两次 addEventListener,一次将 useCapture 设置为 true,第二次再将useCapture 设置为 false。

常用audio的事件:

事件名称 事件作用
loadstart 客户端开始请求数据
progress 客户端正在请求数据(或者说正在缓冲)
play play()和autoplay播放时
pause pause()方法促发时
ended 当前播放结束
timeupdate 当前播放时间发生改变的时候。播放中常用的时间处理哦
canplaythrough 歌曲已经载入完全完成
canplay 缓冲至目前可播放状态。

上面包括HTML5 Audio标签的方法,属性和函数api对于基本的应用功能已足够满足,当然您还需要一点服务器的知识帮您去构建一个后台。

时间: 2024-10-06 12:28:57

HTML5 Audio标签方法和函数API介绍的相关文章

HTML5 audio标签使用js进行播放控制实例

HTML5 audio标签使用js进行播放控制实例  <audio>标签可以在HTML5浏览器中播放音频文件. <audio>默认提供一个控制面板,但是有些时候我们只需要播放声音,控制面板由我们自己来定义其显示的状态. 这里我们可以使用JS来进行控制,代码如下:   代码如下: var audio ; window.onload = function(){ initAudio(); } var initAudio = function(){ //audio = document.c

论HTML5 Audio 标签歌词同步的实现

HTML5草案里面其实有原生的字幕标签(<track> Tag)的,但使用的是vtt格式的文件,非常规的字幕(.sub, .srt)或歌词文件(.lrc). 用法如下(代码来自W3School): <video width="320" height="240" controls> <source src="forrest_gump.mp4" type="video/mp4"> <sou

PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)_php技巧

通过curl_setopt()函数可以方便快捷的抓取网页(采集很方便大笑),curl_setopt 是PHP的一个扩展库      使用条件:需要在php.ini 中配置开启.(PHP 4 >= 4.0.2)        //取消下面的注释 extension=php_curl.dll 在Linux下面,需要重新编译PHP了,编译时,你需要打开编译参数--在configure命令上加上"–with-curl" 参数. 1. 一个抓取网页的简单案例: [php] view pla

HTML5 Video标签的属性、方法和事件汇总介绍

 HTML5 Video标签的属性.方法和事件汇总介绍 前段时间写了一个基于html5 video的视频播放器,从起初的对其不了解,然后到能够写一个基本完善的自定义播放器.在这个过程中,对video标签的属性,方法,事件有了个全面的认识.下面分类列出来一下. <video>标签的属性 代码如下: src :视频的属性 poster:视频封面,没有播放时显示的图片 preload:预加载 autoplay:自动播放 loop:循环播放 controls:浏览器自带的控制条 width:视频宽度

开大你的音响,感受HTML5 Audio API带来的视听盛宴

话说HTML5的炫酷真的是让我爱不释手,即使在这个提到IE就伤心不完的年代.但话又说回来,追求卓越Web创造更美世界这样高的追求什么时候又与IE沾过边儿呢?所以当你在看本文并且我们开始讨论HTML5等前沿东西的时候,我们默认是把IE排除在外的.本文的例子可以工作在最新的Chrome及Firefox浏览器下,其他浏览器暂未测试. 若下方未出现演示页面请刷新.  你也可以点此全屏演示  或者前往GitHub进行代码下载然后本地运行. 你还可以 下载示例音乐(如果你手头没有音频文件的话) 文件列表:b

Three.js + HTML5 Audio API 打造3D音乐频谱,Let’s ROCK!

继续玩味之前写的音乐频谱作品,将原来在Canvas标签上的 作图利用Three.js让它通过WebGL呈现,这样就打造出了一个全立体感的频谱效果了. 项目详情及源码 项目GitHub地址:https://github.com/Wayou/3D_Audio_Spectrum_VIsualizer/tree/master 在线演示地址:http://wayou.github.io/3D_Audio_Spectrum_VIsualizer 如果你想的话,可以从这里下载示例音乐:http://pan.b

html5的audio标签无法再移动设备上自动播放

做了个微信应用,想加一个背景音乐,使用html5的audio标签在电脑浏览器上上可以自动播放,而在移动设备上无论是设置autoplay属性还是使用js调用play()方法,都不能自动播放,请问有何解决方案. 原因分析 HTML5中的autoplay属性是设置为自动播放.如果设置了该属性,视频或音频将自动播放. 但是需要注意的是部分浏览器比如Safari屏蔽了autoplay属性.因为autoplay在移动网络环境下可能会造成用户流量费剧增. iOS 3.2之前可以通过js模拟一个点击事件来触发,

关于html5的audio标签音频兼容性问题

问题描述 关于html5的audio标签音频兼容性问题 <!DOCTYPE html> 音频播放测试 您的浏览器不支持 audio 标签. 同样一段代码放桌面测试是没有问题的,放到项目底下,播放器就不好用了(出不来),求前辈们指点一二 解决方案 HTML5中主流的音频格式为:".wav .mp3"两个即可 如果想兼容低一点IE版本,可能会用上".ogg" HTML5不被低版本的浏览器所支持 音频格式由于浏览器有版权原因有不同要求 当前兼容性最好解决方案是

html5使用Audio标签打造音乐播放器的例子

这个是我们今天的重头戏,也是一切的根源,使用HTML5的audio标签去打造播放器,在用这个之前我们需要了解些audio标签的基本用法. 你可以这样: <audio controls>   <source src="horse.ogg" type="audio/ogg">   <source src="horse.mp3" type="audio/mpeg"> 您的浏览器不支持 audio