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

左心房为你撑大大i 提交于 2020-12-18 06:48:56
-----------支持作者请转发本文-----------

audio是用于播放在线音频的组件,该组件默认会带一个控制面板,用于控制音频的播放和暂停,以及显示音频作者、音频名称和当前播放时间信息。audio组件必须设置的属性是src,该属性用于指定音频文件的地址(通常为网址),如果要想让audio组件显示控制面板,需要设置controls属性值为true。该属性的默认值是true,但必须指定该属性,如果不添加该属性,仍然不会显示控制面板。下面是一个使用audio组件简单的例子。
<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组件还有一些事件可以设置,最常用的是bindplaybindpause事件,其中播放音频时触发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组件理论上是可以播放本地音频文件的,不过不能直接指定操作系统(WindowsmacOS)的本地路径。在下一节介绍的video组件,可以使用wx.chooseVideo方法选择视频文件,不过该方法返回的路径是以wxfile开头的临时文件路径,而目前还没有提供wx.chooseAudio方法,所以暂时无法使用本地音频文件路径。

对本文感兴趣,可以加李宁老师微信公众号( unitymarvel):


关注  极客起源  公众号,获得更多免费技术视频和文章。




本文分享自微信公众号 - 极客起源(geekculture)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!