微信小程序踩坑(二)——微信小程序recorderManager和innerAudioContext相關


寫在前面

關於微信小程序的錄音和語音方面,踩了很多坑,記錄一下
recorderManager相關文檔
innerAudioContext相關文檔

RecorderManager錄音相關

  • 在使用RecorderManager相關方法之前,在page外先定義全局唯一的錄音管理器:
const recorderManager = wx.getRecorderManager();
  • 錄音開始
recorderManager.start(options);

經常使用的options的參數:
1.duration:錄音時長,默認類型number,默認值60000(10分鍾),單位ms;
2.format:音頻格式,默認類型aac,默認值string,可選mp3、aac、wav、PCM;

使用recorderManager.start時會彈窗語音授權。

  • 錄音停止
recorderManager.stop();
  • 錄音暫停
recorderManager.pause();
  • 錄音繼續
recorderManager.resume();
  • 常用監聽事件相關
// 1.監聽錄音開始
recorderManager.onStart(function callback);
// 2.監聽錄音停止
recorderManager.onStop(function callback);
// 3.監聽錄音暫停
recorderManager.onPause(function callback);
// 4.監聽錄音繼續
recorderManager.onResume(function callback);
// 5.監聽錄音錯誤
recorderManager.onError(function callback);

innerAudioContext播放相關

  • 在使用RecorderManager相關方法之前,在page外先定義全局唯一的錄音管理器:
const innerAudioContext = wx.createInnerAudioContext();

innerAudioContext常用的屬性:

  1. src —— 音頻地址
    踩坑注意:在ios系統中音頻地址的左斜杠‘/’和右斜杠‘\’並不通用,使用右斜杠會導致音頻無法播放!!!!
  2. autoplay —— 是否自動播放 默認為false
  3. loop —— 是否循環播放 默認為false
  4. obeyMuteSwitch —— 是否遵循系統靜音開關 默認為true
    踩坑注意:在ios系統中,如果obeyMuteSwitch為默認值true,那么在系統靜音的時候揚聲器不會播放音頻,但是耳機可以!!!如果有需要,請將obeyMuteSwitch值設置為false
  • 音頻播放
innerAudioContext.play();
  • 音頻停止
innerAudioContext.stop();
  • 音頻暫停
innerAudioContext.pause()
  • 常用監聽事件相關
// 1.監聽音頻自然播放到結束
innerAudioContext.onEnded(function callback);
// 2.監聽音頻錯誤
innerAudioContext.onError(function callback);
// 3.監聽音頻暫停
innerAudioContext.onPause(function callback);
//4. 監聽音頻播放
innerAudioContext.onPlay(function callback)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM