微信小程序开发实战(14):音频组件(audio)

2020-07-30 14:56:58 浏览数 (2)

-----------支持作者请转发本文-----------

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个属性。
代码语言:javascript复制
<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方法,所以暂时无法使用本地音频文件路径。

0 人点赞