微信小程序踩坑——微信小程序recorderManager和innerAudioContext相关

Posted 今天也是一只菜鸡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序踩坑——微信小程序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 —— 是否遵循系统静音开关 默认为false
    注意:在ios系统中,如果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)

以上是关于微信小程序踩坑——微信小程序recorderManager和innerAudioContext相关的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序之蓝牙 BLE 踩坑记录

微信小程序组件踩坑

微信小程序使用weui扩展组件踩坑

微信小程序踩坑集

微信小程序 抓包踩坑

微信小程序性能测试之jmeter踩坑秘籍(前言)