#### audio
音頻。
| 屬性名 | 類型 | 默認值 | 說明 |
| -------------- | ----------- | ----- | ---------------------------------------- |
| id | String | | audio 組件的唯一標識符 |
| src | String | | 要播放音頻的資源地址 |
| loop | Boolean | false | 是否循環播放 |
| controls | Boolean | false | 是否顯示默認控件 |
| poster | String | | 默認控件上的音頻封面的圖片資源地址,如果 controls 屬性值為 false 則設置 poster 無效 |
| name | String | 未知音頻 | 默認控件上的音頻名字,如果 controls 屬性值為 false 則設置 name 無效 |
| author | String | 未知作者 | 默認控件上的作者名字,如果 controls 屬性值為 false 則設置 author 無效 |
| binderror | EventHandle | | 當發生錯誤時觸發 error 事件,detail = {errMsg: MediaError.code} |
| bindplay | EventHandle | | 當開始/繼續播放時觸發play事件 |
| bindpause | EventHandle | | 當暫停播放時觸發 pause 事件 |
| bindtimeupdate | EventHandle | | 當播放進度改變時觸發 timeupdate 事件,detail = {currentTime, duration} |
| bindended | EventHandle | | 當播放到末尾時觸發 ended 事件 |
**MediaError.code**
| 返回錯誤碼 | 描述 |
| ----- | --------- |
| 1 | 獲取資源被用戶禁止 |
| 2 | 網絡錯誤 |
| 3 | 解碼錯誤 |
| 4 | 不合適資源 |
**示例代碼:**
```
<!-- audio.wxml -->
<audio poster="{{poster}}" name="{{name}}" author="{{author}}" src="{{src}}" id="myAudio" controls loop></audio>
<button type="primary" bindtap="audioPlay">播放</button>
<button type="primary" bindtap="audioPause">暫停</button>
<button type="primary" bindtap="audio14">設置當前播放時間為14秒</button>
<button type="primary" bindtap="audioStart">回到開頭</button>
```
```
// audio.js
Page({
onReady: function (e) {
// 使用 wx.createAudioContext 獲取 audio 上下文 context
this.audioCtx = wx.createAudioContext('myAudio')
},
data: {
poster: 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000',
name: '此時此刻',
author: '許巍',
src: 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E06DCBDC9AB7C49FD713D632D313AC4858BACB8DDD29067D3C601481D36E62053BF8DFEAF74C0A5CCFADD6471160CAF3E6A&fromtag=46',
},
audioPlay: function () {
this.audioCtx.play()
},
audioPause: function () {
this.audioCtx.pause()
},
audio14: function () {
this.audioCtx.seek(14)
},
audioStart: function () {
this.audioCtx.seek(0)
}
})
```
相關api:[wx.createAudioContext](https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-audio.html)
- 簡介
- 第一章 公眾號開發
- 使用微信JSSDK
- 接口權限配置
- 分享接口
- 隱藏按鈕項
- 微信支付
- 第二章 小程序開發
- 基礎知識
- 分包加載
- WXSS樣式表
- 配置
- app.json配置
- window
- tabBar
- page.json配置
- 邏輯層
- app.js
- 場景值
- page.js
- 初始化數據
- 生命周期函數
- 頁面相關事件處理函數
- 事件處理函數
- 頁面實例方法
- 路由
- 文件作用域
- 模塊化
- 視圖層
- 模板語法
- 列表渲染
- 條件渲染
- 模板
- 事件
- 引用
- WXS語法規范
- WXS數據類型
- WXS控制流程
- WXS基礎類庫
- 組件
- 視圖容器
- view
- scroll-view
- swiper
- movable-view
- cover-view
- 基礎組件
- icon
- text
- rich-text
- progress
- 表單組件
- button
- checkbox
- form
- input
- label
- picker
- picker-view
- radio
- slider
- switch
- textarea
- 導航組件
- navigator
- 媒體組件
- audio
- image
- video
- camera
- 地圖組件
- map
- 畫布組件
- canvas
- 開放能力
- web-view
- 自定義組件
- 組件模版和樣式
- Component
- 組件傳值
- 組件事件
- Behaviors
- 組件間關系
- 網絡請求
- wx.request
- 微信登錄
- 獲取 openid 和 unionid
- 獲取用戶信息
- 將 wx.request 封裝為 promise
- 上傳圖片接口封裝
- 數據存儲
- 存儲數據和讀取數據
- 獲取數據緩存信息
- 移除數據緩存
- 獲取用戶設置
- openSetting
- getSetting
- 第三章 小游戲開發
- 參考資料