文章目录:Audio常用属性Audio音乐格式支持Audio属性参数说明最近在做音频h5页面时遇到了一些坑。希望这篇文章能对大家有所帮助。audio的常用属性首先我们看一下audio标签中的一些常用属性:attribute属性值commenturlsrcurl播放的音乐地址(Firefox只支持ogg音乐,IE9只支持MP3格式的音乐,chrome好像完全支持)preloadpreload预加载(页面加载时加载或缓冲音频),如果使用autoplay,则该属性无效。looplooploopplaybackcontrols控制是否显示默认控制栏(控制按钮)autoplayautoplayautoplayaudiomusicformatsupport下面看看对音乐格式的支持:支持支持不支持支持无法通过new创建音频。也可以通过document获取。//使用new关键字创建一个Audio对象varMusic=newAudio("test.mp3");//使用document获取一个已有的Audio对象varMusic=document.getElementById("audio");//当然这里也可以使用document.getElementsByClassName('className')等其他方法获取。然后我们看一下api提供的一些属性和方法,用于音频标签操作。audioattribute属性注解duration获取媒体文件的总时长,单位s,如果获取不到,返回NaNpaused如果媒体文件暂停,则paused属性返回true,否则返回falseended,如果媒体文件暂停播放,它返回truemuted以获取或设置静音状态。booleanvolume控制音量的属性值为0-1;0为最小音量,1为最大音量startTime返回开始播放时间error返回错误码,为uull时正常。否则,可通过Music.error.code获取具体错误码:1.用户终止2.网络错误3.解码错误4.无效URLcurrentTime用于获取或控制当前播放时间,单位为s。currentSrc以字符串的形式返回正在播放或加载的文件,所以我们先来看看这里常用的控制函数:函数load()加载音频,视频软件play()加载播放音频、视频文件或重放和pauses音视频pause()暂停播放状态下的音视频文件canPlayType(obj)测试是否支持给定的Mini类型文件。这些参数描述了音频标签API中的常见事件。首先,如果绑定事件,可以通过js中的addEventListener方法来绑定事件。Music.addEventListener(string:事件类型/名称,function:当触发特定事件时执行,boolean:是否使用捕获,默认为false);1.type:事件的字符串类型。2.listener:Function监听事件后处理事件的函数。此函数必须接受一个Event对象作为其唯一参数,并且不能返回任何结果,如下例所示:访问修饰符functionfunctionname(evt:Event):void3,useCapture:Boolean(default=false)involves"eventflow“概念。侦听器在收听时分为三个阶段:捕获阶段、目标阶段和冒泡阶段。顺序为:捕获阶段(从根节点到子节点检查监控函数是否被调用)→目标阶段(目标本身)→冒泡阶段(目标本身到根节点)。这里的参数决定了监听器是运行在捕获阶段、目标阶段还是冒泡阶段。如果useCapture设置为true,则侦听器仅在捕获阶段处理事件,而不是在目标或冒泡阶段。如果useCapture为false,则侦听器仅在目标或冒泡阶段处理事件。要监听所有三个阶段的事件,请调用addEventListener两次,一次将useCapture设置为true,第二次将useCapture设置为false。常用的音频事件:事件名称事件函数loadstart客户端开始请求数据进度客户端正在请求数据(或缓冲)播放playplay()和自动播放时pausepause()方法triggersended当前播放结束timeupdate当前播放时间发生时间改变。播放常用的时间处理canplaythrough歌曲已经加载完成,canplay缓冲区当前可以播放。
