audio 音频

解释:音频

属性说明

属性名类型默认值必填说明
idStringaudio 组件的唯一标识符
srcString要播放音频的资源地址
loopBooleanfalse是否循环播放
controlsBooleanfalse是否显示默认控件
posterString默认控件上的音频封面的图片资源地址,如果 controls 属性值为 false 则设置 poster 无效
nameString未知音频默认控件上的音频名字,如果 controls 属性值为 false 则设置 name 无效
authorString未知作者默认控件上的作者名字,如果 controls 属性值为 false 则设置 author 无效
binderrorEventHandle当发生错误时触发 error 事件,detail = {errMsg: MediaError.code}
bindplayEventHandle当开始/继续播放时触发play事件,detail = {duration}
bindpauseEventHandle当暂停播放时触发 pause 事件,detail = {duration}
bindtimeupdateEventHandle当播放进度改变时触发 timeupdate 事件,detail = {currentTime, duration}
bindendedEventHandle当播放到末尾时触发 ended 事件,detail = {duration}

MediaError.code

返回错误码描述
1获取资源过程被用户终止
2网络错误
3当解码时发生错误
4不支持音频

示例

在开发者工具中预览效果

扫码体验

audio 音频 - 图1请使用百度APP扫码

代码示例

在开发者工具中预览效果

  1. <audio poster="{{poster}}"
  2. name="{{name}}"
  3. loop="false"
  4. author="{{author}}"
  5. src="{{src}}"
  6. id="myAudio"
  7. controls
  8. bind:error="error"
  9. bind:play="audioPlay"
  10. bind:pause="audioPause"
  11. bind:timeupdate="timeupdate"
  12. bind:ended="audioEnded"
  13. >
  14. </audio>
  1. Page({
  2. data: {
  3. poster: 'https://c.hiphotos.baidu.com/super/pic/item/8b13632762d0f703e34c0f6304fa513d2797c597.jpg',
  4. name: '演员',
  5. author: '薛之谦',
  6. src: 'https://vd3.bdstatic.com/mda-ic7mxzt5cvz6f4y5/mda-ic7mxzt5cvz6f4y5.mp3'
  7. },
  8. error: function (e) {
  9. console.log('audio error:', e);
  10. swan.showToast({
  11. title: '加载音频资源出错',
  12. duration: 1000
  13. });
  14. },
  15. audioPlay: function (e) {
  16. console.log('audio play');
  17. swan.showToast({
  18. title: '音频开始播放',
  19. duration: 1000
  20. });
  21. },
  22. audioPause: function (e) {
  23. console.log('audio pause');
  24. swan.showToast({
  25. title: '音频暂停',
  26. duration: 1000
  27. });
  28. },
  29. audioEnded: function () {
  30. console.log('audio ended');
  31. swan.showToast({
  32. title: '音频播放完',
  33. duration: 1000
  34. });
  35. },
  36. timeupdate: function () {
  37. console.log('audio update');
  38. }
  39. });