Skip to content

音訊

stopVoice

TIP

該API使用方法為: wx.stopVoice(Object object)

  • 功能說明: 結束播放語音

  • 參數及說明: Object object

    内容類型預設值必填說明
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • 示例代碼:

js
wx.startRecord({
  success (res) {
    const tempFilePath = res.tempFilePath
    wx.playVoice({
      filePath: tempFilePath,
    })

    setTimeout(() => { wx.stopVoice() }, 5000)
  }
})

playVoice

TIP

該API使用方法為: wx.playVoice(Object object)
該API小程序支持,小遊戲暫不支持

  • 功能說明: 開始播放語音。 同時只允許一個語音文件正在播放,如果前一個語音文件還沒播放完,將中斷前一個語音播放。

  • 參數及說明:

    内容類型預設值必填說明
    filePathstring-需要播放的語音文件的文件路徑(本地路徑)
    durationnumber60指定播放時長,到達指定的播放時長後會自動停止播放,單位:秒
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • 示例代碼:

js
wx.startRecord({
  success (res) {
    const tempFilePath = res.tempFilePath
    wx.playVoice({
      filePath: tempFilePath,
      complete () { }
    })
  }
})

pauseVoice

TIP

該API使用方法為: wx.pauseVoice(Object object)
該API小程序支持,小遊戲暫不支持

  • 功能說明: 暫停正在播放的語音。 再次調用 wx.playVoice 播放同一個文件時,會從暫停處開始播放。 如果想從頭開始播放,需要先調用 wx.stopVoice

  • 參數及說明: Object object。

    内容類型預設值必填說明
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • 示例代碼:

js
wx.startRecord({
  success (res) {
    const tempFilePath = res.tempFilePath
    wx.playVoice({
      filePath: tempFilePath
    })

    setTimeout(() => { wx.pauseVoice() }, 5000)
  }
})

setInnerAudioOption

TIP

該API使用方法為: wx.setInnerAudioOption(Object object)

  • 功能說明: 設定 InnerAudioContext 的播放選項。 設定之後對當前小程序全域生效。
  • 參數及說明: Object object。
    内容類型預設值必填說明
    mixWithOtherbooleantrue是否與其他音訊混播,設定為true之後,不會終止其他應用的音樂
    obeyMuteSwitchbooleantrue(僅在iOS生效)是否遵循靜音開關,設定為false之後,即使是在靜音模式下,也能播放聲音
    speakerOnbooleantruetrue代表用揚聲器播放,false代表聽筒播放,預設值為true
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)

getAvailableAudioSources

TIP

該API使用方法為: wx.getAvailableAudioSources(Object object)
該API小程序支持,小遊戲暫不支持

  • 功能說明: 獲取當前支持的音訊輸入源

  • 參數及說明: Object object。

    内容類型預設值必填說明
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • object.success回呼函數參數: Object res。

    内容類型說明
    audioSourcesArray.<string>支持的音訊輸入源清單。 返回值定義參攷 AudioSource
    • audioSources合法值
    合法值說明
    auto自動設定,默認使用手機麥克風,插上耳麥後自動切換使用耳機麥克風,所有平臺適用
    buildInMic手機麥克風,僅限iOS
    headsetMic有線耳機麥克風,僅限iOS
    mic麥克風(沒插耳麥時是手機麥克風,插耳麥時是耳機麥克風),僅限Android
    camcorder同mic,適用於錄製音視頻內容,僅限Android
    voice_communication同mic,適用於即時溝通,僅限Android
    voice_recognition同mic,適用於語音辨識,僅限Android

createAudioContext

TIP

該API使用方法為: AudioContext wx.createAudioContext(string id, Object this)
該API小程序支持,小遊戲暫不支持

  • 功能說明: 創建audio上下文 AudioContext 對象
  • 參數及說明: string id, audio組件的id; Object this, 在自定義組件下,當前組件實例的this,以操作組件內audio組件。
  • 返回值: AudioContext

AudioContext

TIP

該API小程序支持,小遊戲暫不支持

AudioContext實例,可通過 wx.createAudioContext 獲取,通過id跟一個audio組件綁定,操作對應的audio組件。

pause

TIP

該API使用方法為: AudioContext.pause()

  • 功能說明: 暫停音訊
play

TIP

該API使用方法為: AudioContext.play()

  • 功能說明: 播放音訊
seek

TIP

該API使用方法為: AudioContext.seek(number position)

  • 功能說明: 跳轉到指定位置
  • 參數及說明: number position, 跳轉位置,單位: s。
setSrc

TIP

該API使用方法為: AudioContext.setSrc(string src)

  • 功能說明: 設定音訊地址
  • 參數及說明: string src, 音訊地址。

createInnerAudioContext

TIP

該API使用方法為: InnerAudioContext wx.createInnerAudioContext(Object object)

  • 功能說明: 創建內部audio上下文 InnerAudioContext 對象,使用方法為wx.createInnerAudioContext()。

  • 返回值: InnerAudioContext

  • 注意事項 InnerAudioContext音訊資源不會自動釋放,囙此如果不再需要使用音訊,請及時調用InnerAudioContext.destroy()釋放資源,避免記憶體洩漏。

  • 示例代碼:

js
const innerAudioContext = wx.createInnerAudioContext()
innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'

innerAudioContext.play() // play

innerAudioContext.pause() // pause

innerAudioContext.stop() // stop

innerAudioContext.destroy() // destroy

InnerAudioContext

内容

  • string src:音訊資源的地址,用於直接播放。
  • number startTime:開始播放的位置(單位: s), 默認為0。
  • boolean autoplay:是否自動開始播放,默認為false。
  • boolean loop:是否迴圈播放,默認為false。
  • number volume:音量,範圍0-1。 默認為1。
  • number duration:當前音訊的長度(單位: s)。 只有在當前有合法的src時返回(只讀)。
  • number currentTime:當前音訊的播放位置(單位s)。 只有在當前有合法的src時返回,時間保留小數點後6比特(只讀)。
  • boolean paused:當前是否是暫停或停止狀態(只讀)。
  • number buffered:音訊緩衝的時間點,僅保證當前播放時間點到此時間點內容已緩衝(只讀)。

支持格式

支持格式iOSAndroid
flacx
m4a
oggx
apex
amrx
wmax
wav
mp3
mp4x
aac
aiffx
cafx
  • 示例代碼:
js
const innerAudioContext = wx.createInnerAudioContext()
innerAudioContext.autoplay = true
innerAudioContext.src = 'https://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'
innerAudioContext.onPlay(() => {
  console.log('start play')
})
innerAudioContext.onError((res) => {
  console.log(res.errMsg)
  console.log(res.errCode)
})

方法集

play

TIP

該API使用方法為: InnerAudioContext.play()

  • 功能說明: 開始播放
pause

TIP

該API使用方法為: InnerAudioContext.pause()

  • 功能說明: 暫停,暫停後的音訊再播放會從暫停處開始播放。
stop

TIP

該API使用方法為: InnerAudioContext.stop()

  • 功能說明: 停止,停止後的音訊再播放會從頭開始播放。
seek

TIP

該API使用方法為: InnerAudioContext.seek(number position)

  • 功能說明: 跳轉到指定位置
destroy

TIP

該API使用方法為: InnerAudioContext.destroy()

  • 功能說明: 銷毀當前實例。
onCanplay

TIP

該API使用方法為: InnerAudioContext.onCanplay(function listener)

  • 功能說明: 監聽音訊進入可以播放狀態的事件。 但不保證後面可以流暢播放。
  • 參數及說明: function listener, 音訊進入可以播放狀態的事件的監聽函數。
offCanplay

TIP

該API使用方法為: InnerAudioContext.offCanplay(function listener)

  • 功能說明: 移除音訊進入可以播放狀態的事件的監聽函數
  • 參數及說明: function listener, onCanplay傳入的監聽函數。 不傳此參數則移除所有監聽函數。
  • 示例代碼:
js
const listener = function (res) { console.log(res) }

InnerAudioContext.onCanplay(listener)
InnerAudioContext.offCanplay(listener) // Pass the same function object used for listening.
onPlay

TIP

該API使用方法為: InnerAudioContext.onPlay(function listener)

  • 功能說明: 監聽音訊播放事件
  • 參數及說明: function listener, 音訊播放事件的監聽函數。
offPlay

TIP

該API使用方法為: InnerAudioContext.offPlay(function listener)

  • 功能說明: 移除音訊播放事件的監聽函數

  • 參數及說明: function listener, onPlay傳入的監聽函數。 不傳此參數則移除所有監聽函數。

  • 示例代碼:

js
const listener = function (res) { console.log(res) }

InnerAudioContext.onPlay(listener)
InnerAudioContext.offPlay(listener) // Pass the same function object used for listening.
onPause

TIP

該API使用方法為: InnerAudioContext.onPause(function listener)

  • 功能說明: 監聽音訊暫停事件
  • 參數及說明: function listener, 音訊暫停事件的監聽函數。
offPause

TIP

該API使用方法為: InnerAudioContext.offPause(function listener)

  • 功能說明: 移除音訊暫停事件的監聽函數

  • 參數及說明: function listener, onPause傳入的監聽函數。 不傳此參數則移除所有監聽函數。

  • 示例代碼:

js
const listener = function (res) { console.log(res) }

InnerAudioContext.onPause(listener)
InnerAudioContext.offPause(listener) // Pass the same function object used for listening.
onStop

TIP

該API使用方法為: InnerAudioContext.onStop(function listener)

  • 功能說明: 監聽音訊停止事件
  • 參數及說明: function listener, 音訊停止事件的監聽函數。
offStop

TIP

該API使用方法為: InnerAudioContext.offStop(function listener)

  • 功能說明: 移除音訊停止事件的監聽函數

  • 參數及說明: function listener, onStop傳入的監聽函數。 不傳此參數則移除所有監聽函數。

  • 示例代碼:

js
const listener = function (res) { console.log(res) }

InnerAudioContext.onStop(listener)
InnerAudioContext.offStop(listener) // Pass the same function object used for listening.
onEnded

TIP

該API使用方法為: InnerAudioContext.onEnded(function listener)

  • 功能說明: 監聽音訊自然播放至結束的事件
  • 參數及說明: function listener, 監聽音訊自然播放至結束的事件
offEnded

TIP

該API使用方法為: InnerAudioContext.offEnded(function listener)

  • 功能說明: 移除音訊自然播放至結束的事件的監聽函數

  • 參數及說明: function listener, onEnded傳入的監聽函數。 不傳此參數則移除所有監聽函數。

  • 示例代碼:

js
const listener = function (res) { console.log(res) }

InnerAudioContext.onEnded(listener)
InnerAudioContext.offEnded(listener) // Pass the same function object used for listening.
onTimeUpdate

TIP

該API使用方法為: InnerAudioContext.onTimeUpdate(function listener)

  • 功能說明: 監聽音訊播放進度更新事件
  • 參數及說明: function listener, 背景音频播放進度更新事件的監聽函數。
offTimeUpdate

TIP

該API使用方法為: InnerAudioContext.offTimeUpdate(function listener)

  • 功能說明: 移除音訊播放進度更新事件的監聽函數

  • 參數及說明: function listener, onTimeUpdate傳入的監聽函數。 不傳此參數則移除所有監聽函數。

  • 示例代碼:

js
const listener = function (res) { console.log(res) }

InnerAudioContext.onTimeUpdate(listener)
InnerAudioContext.offTimeUpdate(listener) // Pass the same function object used for listening.
onError

TIP

該API使用方法為: InnerAudioContext.onError(function listener)

  • 功能說明: 監聽音訊播放錯誤事件
  • 參數及說明: function listener, 音訊播放錯誤事件的監聽函數。
  • Object res
    内容類型說明
    errMsgstring-
    errCodenumber-
  • errCode的合法值
    說明
    10001系統錯誤
    10002網絡錯誤
    10003文件錯誤,請檢查是否responseheader是否缺少Content-Length
    10004格式錯誤
    -1未知錯誤
  • tips:
    • errCode=100001時,如若errMsg中有INNERCODE -11828,請先檢查response header是否缺少Content-Length。
    • errCode=100001時,如若errMsg中有systemErrCode:200333420,請檢查文件編碼格式和fileExtension是否一致。
offError

TIP

該API使用方法為: InnerAudioContext.offError(function listener)

  • 功能說明: 移除音訊播放錯誤事件的監聽函數

  • 參數及說明: function listener, onError傳入的監聽函數。 不傳此參數則移除所有監聽函數。

  • 示例代碼:

js
const listener = function (res) { console.log(res) }

InnerAudioContext.onError(listener)
InnerAudioContext.offError(listener)  // Pass the same function object used for listening.
onWaiting

TIP

該API使用方法為: InnerAudioContext.onWaiting(function listener)

  • 功能說明: 監聽音訊加載中事件。 當音訊因為數據不足,需要停下來加載時會觸發。
  • 參數及說明: function listener, 音訊加載中事件的監聽函數。
offWaiting

TIP

該API使用方法為: InnerAudioContext.offWaiting(function listener)

  • 功能說明: 移除音訊加載中事件的監聽函數

  • 參數及說明: function listener, onWaiting傳入的監聽函數。 不傳此參數則移除所有監聽函數。

  • 示例代碼:

js
const listener = function (res) { console.log(res) }

InnerAudioContext.onWaiting(listener)
InnerAudioContext.offWaiting(listener)  // Pass the same function object used for listening.
onSeeking

TIP

該API使用方法為: InnerAudioContext.onSeeking(function listener)

  • 功能說明: 監聽音訊進行跳轉操作的事件
  • 參數及說明: function listener, 音訊進行跳轉操作的事件的監聽函數。
offWaiting

TIP

該API使用方法為: InnerAudioContext.offSeeking(function listener)

  • 功能說明: 移除音訊進行跳轉操作的事件的監聽函數

  • 參數及說明: function listener, onSeeking傳入的監聽函數。 不傳此參數則移除所有監聽函數。

  • 示例代碼:

js
const listener = function (res) { console.log(res) }

InnerAudioContext.onSeeking(listener)
InnerAudioContext.offSeeking(listener)  // Pass the same function object used for listening.
onSeeked

TIP

該API使用方法為: InnerAudioContext.onSeeked(function listener)

  • 功能說明: 監聽音訊完成跳轉操作的事件
  • 參數及說明: function listener, 音訊完成跳轉操作的事件的監聽函數。
offSeeked

TIP

該API使用方法為: InnerAudioContext.offSeeked(function listener)

  • 功能說明: 移除音訊完成跳轉操作的事件的監聽函數

  • 參數及說明: function listener, onSeeked傳入的監聽函數。 不傳此參數則移除所有監聽函數。

  • 示例代碼:

js
const listener = function (res) { console.log(res) }

InnerAudioContext.onSeeked(listener)
InnerAudioContext.offSeeked(listener)  // Pass the same function object used for listening.