小程序ios音频播放没声音问题的解决


Posted in Javascript onJuly 11, 2018

小程序提供了录音和播放音频的能力,从基础库 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

小程序ios音频播放没声音问题的解决

可以通过设置obeyMuteSwitch为false开启在静音模式下播放音频!解决了ios静音模式下播放音频文件没有声音的问题!

innerAudioContext.obeyMuteSwitch = false;

在开发小程序的过程中遇到问题还是应该多查看api文档,才能更加快速的解决遇到的bug!

附 小程序开发文档链接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 面向对象 命名空间
May 13 Javascript
js 自动播放的实例代码
Nov 19 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
May 12 Javascript
jquery修改网页背景颜色通过css方法实现
Jun 06 Javascript
浅析JavaScript中命名空间namespace模式
Jun 22 Javascript
javascript容错处理代码(屏蔽js错误)
Jan 20 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
Jul 06 Javascript
react-redux中connect的装饰器用法@connect详解
Jan 13 Javascript
vue 使用eventBus实现同级组件的通讯
Mar 02 Javascript
使用NestJS开发Node.js应用的方法
Dec 03 Javascript
js实现适配移动端的拖动效果
Jan 13 Javascript
原生JavaScript实现拖动校验功能
Sep 29 Javascript
vue 1.0 结合animate.css定义动画效果
Jul 11 #Javascript
微信小程序实现发红包功能
Jul 11 #Javascript
vue框架搭建之axios使用教程
Jul 11 #Javascript
vue中动态设置meta标签和title标签的方法
Jul 11 #Javascript
Vue项目添加动态浏览器头部title的方法
Jul 11 #Javascript
node.js到底要不要加分号浅析
Jul 11 #Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
Jul 11 #Javascript
You might like
使用sockets:从新闻组中获取文章(二)
2006/10/09 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
如何判断php数组的维度
2013/06/10 PHP
怎么在Windows系统中搭建php环境
2013/08/31 PHP
php实现分页工具类分享
2014/01/09 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
js日期时间补零的小例子
2013/03/05 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
vue2 自定义动态组件所遇到的问题
2017/06/08 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
Python查找函数f(x)=0根的解决方法
2015/05/07 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
Python with语句用法原理详解
2020/07/03 Python
法国珠宝店:CLEOR
2017/01/29 全球购物
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
贝佳斯官方网站:Borghese
2020/05/08 全球购物
升职自荐信
2013/11/28 职场文书
后勤主管工作职责
2013/12/07 职场文书
师生聚会感言
2014/01/26 职场文书
美术国培研修感言
2014/02/12 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
办公室个人总结
2015/02/28 职场文书