小程序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 相关文章推荐
Ext面向对象开发实践(续)
Nov 18 Javascript
js将控件隐藏及display属性的使用介绍
Dec 30 Javascript
JavaScript操作cookie类实例
Mar 31 Javascript
原生js获取元素样式的简单方法
Aug 06 Javascript
详解Node.js如何开发命令行工具
Aug 14 Javascript
JavaScript评论点赞功能的实现方法
Mar 13 Javascript
jquery对table做排序操作的实例演示
Aug 10 jQuery
基于vue实现移动端圆形旋钮插件效果
Nov 28 Javascript
微信小程序实现点击空白隐藏的方法示例
Aug 13 Javascript
VsCode与Node.js知识点详解
Sep 05 Javascript
微信小程序自定义导航栏(模板化)
Nov 15 Javascript
vue实现路由不变的情况下,刷新页面操作示例
Feb 02 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
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
原生js获取元素样式的简单方法
2016/08/06 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
2017/02/08 Javascript
Angular模板表单校验方法详解
2017/08/11 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
Python多线程实现同步的四种方式
2017/05/02 Python
Python处理Excel文件实例代码
2017/06/20 Python
python绘制双柱形图代码实例
2017/12/14 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
OpenCV图片漫画效果的实现示例
2020/08/18 Python
python实现画图工具
2020/08/27 Python
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
大学生实习自我鉴定
2013/12/11 职场文书
化工专业大学生职业生涯规划书
2014/01/14 职场文书
班级活动策划书
2014/02/06 职场文书
《两只鸟蛋》教学反思
2014/02/10 职场文书
幼儿园安全责任书
2014/04/14 职场文书
政府采购方案
2014/06/12 职场文书
四风问题对照检查材料
2014/09/22 职场文书
2014年应急工作总结
2014/12/11 职场文书
走进毛泽东观后感
2015/06/04 职场文书
四群教育工作总结
2015/08/10 职场文书
golang switch语句的灵活写法介绍
2021/05/06 Golang