小程序ios音频播放没声音问题的解决
时间:2018-07-11
这篇文章主要介绍了小程序ios音频播放没声音问题的解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
小程序提供了录音和播放音频的能力,从基础库 1.6.0 开始支持了wx.getRecorderManager(),录音都采用wx.getRecorderManager()
提供的api,播放音频文件采用wx.createInnerAudioContext()
提供的api
导入录音和播放音频功能
const recorderManager = wx.getRecorderManager(); // 录音功能 const innerAudioContext = wx.createInnerAudioContext(); // 播放音频
注册录音结束事件
// 录音结束 recorderManager.onStop((res) => { console.log('recorder stop'); const { tempFilePath } = res; // 录音的本地临时文件 // ... 播放音频 innerAudioContext.src = tempFilePath ; innerAudioContext.play(); });
开始录音
const options = { duration: 10000, sampleRate: 44100, numberOfChannels: 1, encodeBitRate: 192000, format: 'aac', frameSize: 50 } recorderManager.start(options);
options
是一些音频的配置,具体的配置可以查看 官方文档
这样就创建了一个简单的音频录音和播放功能
ios播放音频文件没有声音
在开发过程中发现在开发者工具和安卓测试机上都能正常录音和播放录音文件,但是在ios手机上发现音频文件播放没有声音,百度查看没有发现有遇到类似的问题,只能自己各种测试,最后发现ios手机是静音模式!!!果然取消静音模式就能够正常播放了。
其实仔细查看api文档, innerAudioContext 对象的属性列表中发现一个属性 obeyMuteSwitch
,这个属性可以在静音模式下播放音频文件,并且有声音!!!
是否遵循系统静音开关,当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音,默认值 true
可以通过设置obeyMuteSwitch为false
开启在静音模式下播放音频!解决了ios静音模式下播放音频文件没有声音的问题!
innerAudioContext.obeyMuteSwitch = false;
在开发小程序的过程中遇到问题还是应该多查看api文档,才能更加快速的解决遇到的bug!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释