-----------支持作者请转发本文-----------
audio是用于播放在线音频的组件,该组件默认会带一个控制面板,用于控制音频的播放和暂停,以及显示音频作者、音频名称和当前播放时间信息。audio组件必须设置的属性是src,该属性用于指定音频文件的地址(通常为网址),如果要想让audio组件显示控制面板,需要设置controls属性值为true。该属性的默认值是true,但必须指定该属性,如果不添加该属性,仍然不会显示控制面板。下面是一个使用audio组件简单的例子。
代码语言:javascript复制<audio src="http://5.1015600.com/2014/ring/000/118/28b0e17cfab0136677648b39cb8b7fbc.mp3" controls/>
使用该布局后,会显示如图1所示的效果。
图1 audio组件的控制面板
点击播放按钮即可播放音乐,再次点击即可停止播放。
audio组件还有如下3个比较常用的属性。
- author:音频作者的名字
- name:音频名字
- poster:音频对应封面图像的地址 下面的布局文件设置了这3个属性。
<audio poster="http://geekori.cn/img/weixin_code.png" author="李宁" name="笑傲江湖" src="http://5.1015600.com/2014/ring/000/118/28b0e17cfab0136677648b39cb8b7fbc.mp3" controls/>
显示的效果如图2所示。
图2 显示相关信息的audio组件
audio组件还有一些事件可以设置,最常用的是bindplay和bindpause事件,其中播放音频时触发bindplay,暂停音频时触发bindpause。下面的布局代码演示了这两个属性。
代码语言:javascript复制<audio bindpause="paused" bindplay="audioPlayed"
poster="http://geekori.cn/img/weixin_code.png" author="李宁" name="笑傲江湖" src="http://5.1015600.com/2014/ring/000/118/28b0e17cfab0136677648b39cb8b7fbc.mp3" controls/>
paused和audioPlayed方法的代码如下:
代码语言:javascript复制audioPlayed: function(e) {
console.log('audio is played')
},
paused:function(e)
{
console.log('audio is paused')
}
当播放和暂停音频时,会在Console中输出如图3所示的日志信息。
图3 输出播放和暂停日志信息
注意:audio组件理论上是可以播放本地音频文件的,不过不能直接指定操作系统(Windows或macOS)的本地路径。在下一节介绍的video组件,可以使用wx.chooseVideo方法选择视频文件,不过该方法返回的路径是以wxfile开头的临时文件路径,而目前还没有提供wx.chooseAudio方法,所以暂时无法使用本地音频文件路径。