# InnerAudioContext
### InnerAudioContext
InnerAudioContext 實例,可通過 [wx.createInnerAudioContext](/read/wechat-game-api/97.md) 接口獲取實例。
#### 屬性
##### string src
音頻資源的地址,用于直接播放。2.2.3 開始支持云文件ID
##### number startTime
開始播放的位置(單位:s),默認為 0
##### boolean autoplay
是否自動開始播放,默認為 `false`
##### boolean loop
是否循環播放,默認為 `false`
##### boolean obeyMuteSwitch
是否遵循系統靜音開關,默認為 `true`。當此參數為 `false` 時,即使用戶打開了靜音開關,也能繼續發出聲音
##### number volume
> 支持版本 >= 1.9.90
音量。范圍 0~1。默認為 1
##### number duration
當前音頻的長度(單位 s)。只有在當前有合法的 src 時返回(只讀)
##### number currentTime
當前音頻的播放位置(單位 s)。只有在當前有合法的 src 時返回,時間保留小數點后 6 位(只讀)
##### boolean paused
當前是是否暫停或停止狀態(只讀)
##### number buffered
音頻緩沖的時間點,僅保證當前播放時間點到此時間點內容已緩沖(只讀)
#### 方法
##### InnerAudioContext.play()
播放
##### InnerAudioContext.pause()
暫停。暫停后的音頻再播放會從暫停處開始播放
##### InnerAudioContext.stop()
停止。停止后的音頻再播放會從頭開始播放。
##### InnerAudioContext.seek(number position)
跳轉到指定位置
##### InnerAudioContext.destroy()
銷毀當前實例
##### InnerAudioContext.onCanplay(function callback)
監聽音頻進入可以播放狀態的事件,但不保證后面可以流暢播放
##### InnerAudioContext.offCanplay(function callback)
取消監聽音頻進入可以播放狀態的事件,但不保證后面可以流暢播放
##### InnerAudioContext.onPlay(function callback)
監聽音頻播放事件
##### InnerAudioContext.offPlay(function callback)
取消監聽音頻播放事件
##### InnerAudioContext.onPause(function callback)
監聽音頻暫停事件
##### InnerAudioContext.offPause(function callback)
取消監聽音頻暫停事件
##### InnerAudioContext.onStop(function callback)
監聽音頻停止事件
##### InnerAudioContext.offStop(function callback)
取消監聽音頻停止事件
##### InnerAudioContext.onEnded(function callback)
監聽音頻自然播放至結束的事件
##### InnerAudioContext.offEnded(function callback)
取消監聽音頻自然播放至結束的事件
##### InnerAudioContext.onTimeUpdate(function callback)
監聽音頻播放進度更新事件
##### InnerAudioContext.offTimeUpdate(function callback)
取消監聽音頻播放進度更新事件
##### InnerAudioContext.onError(function callback)
監聽音頻播放錯誤事件
##### InnerAudioContext.offError(function callback)
取消監聽音頻播放錯誤事件
##### InnerAudioContext.onWaiting(function callback)
監聽音頻加載中事件,當音頻因為數據不足,需要停下來加載時會觸發
##### InnerAudioContext.offWaiting(function callback)
取消監聽音頻加載中事件,當音頻因為數據不足,需要停下來加載時會觸發
##### InnerAudioContext.onSeeking(function callback)
監聽音頻進行跳轉操作的事件
##### InnerAudioContext.offSeeking(function callback)
取消監聽音頻進行跳轉操作的事件
##### InnerAudioContext.onSeeked(function callback)
監聽音頻完成跳轉操作的事件
##### InnerAudioContext.offSeeked(function callback)
取消監聽音頻完成跳轉操作的事件
#### 示例代碼
```
<pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="kwd">const</span><span class="pln"> innerAudioContext </span><span class="pun">=</span><span class="pln"> wx</span><span class="pun">.</span><span class="pln">createInnerAudioContext</span><span class="pun">()</span></code></li>
<li class="l1"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln">innerAudioContext</span><span class="pun">.</span><span class="pln">autoplay </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span></code></li>
<li class="l"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln">innerAudioContext</span><span class="pun">.</span><span class="pln">src </span><span class="pun">=</span><span class="pln"> </span><span class="str">'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'</span></code></li>
<li class="l1"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln">innerAudioContext</span><span class="pun">.</span><span class="pln">onPlay</span><span class="pun">(</span><span class="hljs-params"><span class="pun">()</span></span><span class="pln"> </span><span class="pun">=></span><span class="pln"> </span><span class="pun">{</span></code></li>
<li class="l"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">'開始播放'</span><span class="pun">)</span></code></li>
<li class="l1"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pun">})</span></code></li>
<li class="l"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln">innerAudioContext</span><span class="pun">.</span><span class="pln">onError</span><span class="pun">((</span><span class="hljs-params"><span class="pln">res</span></span><span class="pun">)</span><span class="pln"> </span><span class="pun">=></span><span class="pln"> </span><span class="pun">{</span></code></li>
<li class="l1"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">res</span><span class="pun">.</span><span class="pln">errMsg</span><span class="pun">)</span></code></li>
<li class="l"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">res</span><span class="pun">.</span><span class="pln">errCode</span><span class="pun">)</span></code></li>
<li class="l1"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pun">})</span></code></li>
</ol>
```
> 原文: <https://developers.weixin.qq.com/minigame/dev/api/media/audio/InnerAudioContext.html>
- 致謝
- 渲染
- 畫布
- wx.createCanvas
- Canvas
- .toTempFilePath
- .toTempFilePathSync
- .getContext
- .toDataURL
- RenderingContext
- 圖片
- wx.createImage
- Image
- 字體
- wx.getTextLineHeight
- wx.loadFont
- 幀率
- wx.setPreferredFramesPerSecond
- cancelAnimationFrame
- requestAnimationFrame
- 分包加載
- wx.loadSubpackage
- LoadSubpackageTask
- .onProgressUpdate
- 設備
- 設備方向
- wx.startDeviceMotionListening
- wx.stopDeviceMotionListening
- wx.onDeviceMotionChange
- 加速計
- wx.startAccelerometer
- wx.stopAccelerometer
- wx.onAccelerometerChange
- 剪貼板
- wx.getClipboardData
- wx.setClipboardData
- 羅盤
- wx.startCompass
- wx.stopCompass
- wx.onCompassChange
- 陀螺儀
- wx.startGyroscope
- wx.stopGyroscope
- wx.onGyroscopeChange
- 電量
- wx.getBatteryInfo
- wx.getBatteryInfoSync
- 網絡
- wx.getNetworkType
- wx.onNetworkStatusChange
- 振動
- wx.vibrateShort
- wx.vibrateLong
- 性能
- wx.onMemoryWarning
- 屏幕
- wx.getScreenBrightness
- wx.setKeepScreenOn
- wx.setScreenBrightness
- 轉屏
- wx.onDeviceOrientationChange
- wx.offDeviceOrientationChange
- 系統
- 系統信息
- wx.getSystemInfo
- wx.getSystemInfoSync
- 系統事件
- wx.onAudioInterruptionBegin
- wx.offAudioInterruptionBegin
- wx.onAudioInterruptionEnd
- wx.offAudioInterruptionEnd
- wx.onError
- wx.offError
- 生命周期
- wx.exitMiniProgram
- wx.getLaunchOptionsSync
- wx.onHide
- wx.offHide
- wx.onShow
- wx.offShow
- 觸摸事件
- wx.onTouchStart
- wx.offTouchStart
- wx.onTouchMove
- wx.offTouchMove
- wx.onTouchEnd
- wx.offTouchEnd
- wx.onTouchCancel
- wx.offTouchCancel
- Touch
- 位置
- wx.getLocation
- 媒體
- 圖片
- wx.chooseImage
- wx.previewImage
- wx.saveImageToPhotosAlbum
- 音頻
- wx.createInnerAudioContext
- wx.getAvailableAudioSources
- wx.setInnerAudioOption
- InnerAudioContext
- .pause
- .stop
- .seek
- .destroy
- .offCanplay
- .onPlay
- .offPlay
- .onPause
- .offPause
- .onStop
- .offStop
- .onEnded
- .offEnded
- .onTimeUpdate
- .offTimeUpdate
- .onError
- .onCanplay
- .offError
- .onWaiting
- .offWaiting
- .onSeeking
- .offSeeking
- .onSeeked
- .offSeeked
- .play
- 錄音
- wx.getRecorderManager
- RecorderManager
- .start
- .pause
- .resume
- .stop
- .onStart
- .onResume
- .onPause
- .onStop
- .onFrameRecorded
- .onError
- .onInterruptionBegin
- .onInterruptionEnd
- 視頻
- wx.createVideo
- Video
- .onWaiting
- .offWaiting
- .onPlay
- .offPlay
- .onPause
- .offPause
- .onEnded
- .offEnded
- .onTimeUpdate
- .offTimeUpdate
- .onError
- .offError
- .destroy
- .play
- .pause
- .stop
- .seek
- .requestFullScreen
- .exitFullScreen
- 文件
- wx.getFileSystemManager
- FileSystemManager
- .access
- .accessSync
- .appendFile
- .appendFileSync
- .saveFile
- .saveFileSync
- .getSavedFileList
- .removeSavedFile
- .copyFile
- .copyFileSync
- .getFileInfo
- .mkdir
- .mkdirSync
- .readFile
- .readFileSync
- .readdir
- .readdirSync
- .rename
- .renameSync
- .rmdir
- .rmdirSync
- .stat
- .statSync
- .unlink
- .unlinkSync
- .unzip
- .writeFile
- .writeFileSync
- Stats
- .isDirectory
- .isFile
- 網絡
- 下載
- wx.downloadFile
- DownloadTask
- .onProgressUpdate
- .abort
- 發起請求
- wx.request
- RequestTask
- .abort
- WebSocket
- wx.connectSocket
- wx.closeSocket
- wx.sendSocketMessage
- wx.onSocketOpen
- wx.onSocketClose
- wx.onSocketMessage
- wx.onSocketError
- SocketTask
- .close
- .onOpen
- .onClose
- .onError
- .onMessage
- .send
- 上傳
- wx.uploadFile
- UploadTask
- .onProgressUpdate
- .abort
- 開放接口
- 游戲圈
- wx.createGameClubButton
- GameClubButton
- .onTap
- .offTap
- .show
- .hide
- .destroy
- 開放數據
- wx.getFriendCloudStorage
- wx.getGroupCloudStorage
- wx.getUserCloudStorage
- wx.removeUserCloudStorage
- wx.setUserCloudStorage
- wx.getSharedCanvas
- UserGameData
- KVData
- removeUserStorage
- setUserStorage
- 授權
- wx.authorize
- 防沉迷
- wx.checkIsUserAdvisedToRest
- 用戶信息
- wx.getUserInfo
- wx.createUserInfoButton
- UserInfo
- UserInfoButton
- .show
- .hide
- .destroy
- .onTap
- .offTap
- 微信運動
- wx.getWeRunData
- 設置
- wx.getSetting
- wx.openSetting
- wx.createOpenSettingButton
- OpenSettingButton
- .onTap
- .offTap
- .show
- .hide
- .destroy
- AuthSetting
- 登錄
- wx.login
- wx.checkSession
- checkSessionKey
- code2Session
- 意見反饋
- wx.createFeedbackButton
- FeedbackButton
- .onTap
- .offTap
- .show
- .hide
- .destroy
- 小程序跳轉
- wx.navigateToMiniProgram
- 客服消息
- wx.openCustomerServiceConversation
- 開放數據域
- wx.getOpenDataContext
- wx.onMessage
- OpenDataContext
- .postMessage
- 接口調用憑證
- getAccessToken
- 內容安全
- imgSecCheck
- msgSecCheck
- 二維碼
- createWXAQRCode
- getWXACode
- getWXACodeUnlimit
- 調試
- wx.setEnableDebug
- console
- .groupEnd
- .debug
- .log
- .info
- .warn
- .error
- .group
- 數據緩存
- wx.getStorage
- wx.getStorageSync
- wx.setStorage
- wx.setStorageSync
- wx.removeStorage
- wx.removeStorageSync
- wx.clearStorage
- wx.clearStorageSync
- wx.getStorageInfo
- wx.getStorageInfoSync
- 更新
- wx.getUpdateManager
- UpdateManager
- .onCheckForUpdate
- .onUpdateReady
- .onUpdateFailed
- .applyUpdate
- Worker
- wx.createWorker
- Worker
- .postMessage
- .onMessage
- .terminate
- 轉發
- wx.getShareInfo
- wx.hideShareMenu
- wx.showShareMenu
- wx.updateShareMenu
- wx.shareAppMessage
- wx.onShareAppMessage
- wx.offShareAppMessage
- 廣告
- wx.createRewardedVideoAd
- wx.createBannerAd
- RewardedVideoAd
- .load
- .show
- .onLoad
- .offLoad
- .onError
- .offError
- .onClose
- .offClose
- BannerAd
- .show
- .hide
- .destroy
- .onResize
- .offResize
- .onLoad
- .offLoad
- .onError
- .offError
- 界面
- 交互
- wx.showToast
- wx.showModal
- wx.hideToast
- wx.showLoading
- wx.hideLoading
- wx.showActionSheet
- 菜單
- wx.getMenuButtonBoundingClientRect
- wx.setMenuStyle
- 鍵盤
- wx.showKeyboard
- wx.hideKeyboard
- wx.updateKeyboard
- wx.onKeyboardInput
- wx.offKeyboardInput
- wx.onKeyboardConfirm
- wx.offKeyboardConfirm
- wx.onKeyboardComplete
- wx.offKeyboardComplete
- 狀態欄
- wx.setStatusBarStyle
- 窗口
- wx.onWindowResize
- wx.offWindowResize
- 性能
- wx.getPerformance
- wx.triggerGC
- Performance
- .now
- 虛擬支付
- wx.requestMidasPayment
- midasCancelPay
- midasGetBalance
- midasPay
- midasPresent
- 定時器
- setTimeout
- clearTimeout
- setInterval
- clearInterval