回复 刷新

暂无评论

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

audio是用于播放在线音频的组件,该组件默认会带一个控制面板,用于控制音频的播放和暂停,以及显示音频作者、音频名称和当前播放时间信息。audio组件必须设置的属性是src,该属性用于指定音频文件的地址(通常为网址),如果要想让audio组件显示控制面板,需要设置controls属性值为true。该属性的默认值是true,但必须指定该属性,如果不添加该属性,仍然不会显示控制面板。下面是一个使用audio组件简单的例子。

<audio src="http://5.1015600.com/2014/ring/000/118/28b0e17cfab0136677648b39cb8b7fbc.mp3"controls/>

使用该布局后。

点击播放按钮即可播放音乐,再次点击即可停止播放。

audio组件还有如下3个比较常用的属性。

  1. author:音频作者的名字
  2. name:音频名字
  3. 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/>

audio组件还有一些事件可以设置,最常用的是bindplay和bindpause事件,其中播放音频时触发bindplay,暂停音频时触发bindpause。下面的布局代码演示了这两个属性。

<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方法的代码如下: 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方法,所以暂时无法使用本地音频文件路径。

  • 76
  • 0
  • 0