小程序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 相关文章推荐
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
Jan 22 Javascript
JavaScript replace(rgExp,fn)正则替换的用法
Mar 04 Javascript
javascript 从if else 到 switch case 再到抽象
Jul 17 Javascript
浏览器打开层自动缓慢展开收缩实例代码
Jul 04 Javascript
JS 获取select(多选下拉)中所选值的示例代码
Aug 02 Javascript
jquery实现的鼠标下拉滚动置顶效果
Jul 24 Javascript
jQuery实现简单的间隔向上滚动效果
Mar 09 Javascript
微信小程序 倒计时组件实现代码
Oct 24 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
Apr 10 Javascript
简单了解vue.js数组的常用操作
Jun 17 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
Dec 06 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
Aug 06 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
php的XML文件解释类应用实例
2014/09/22 PHP
php中in_array函数用法分析
2014/11/15 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
php mysql获取表字段名称和字段信息的三种方法
2016/11/13 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
2020/04/20 PHP
PHP实现本地图片转base64格式并上传
2020/05/29 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
javascript 操作Word和Excel的实现代码
2009/10/26 Javascript
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
2014/01/09 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
JS功能代码集锦
2016/05/04 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
2017/05/17 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
centos 上快速搭建ghost博客方法分享
2018/05/23 Javascript
React Router V4使用指南(精讲)
2018/09/17 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
vue-amap根据地址回显地图并mark的操作
2020/11/03 Javascript
vue-calendar-component 封装多日期选择组件的实例代码
2020/12/04 Vue.js
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
python分割和拼接字符串
2013/11/01 Python
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
教师党员公开承诺书
2014/03/25 职场文书
旷课检讨书范文
2014/10/30 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
初中英语教师个人工作总结
2015/02/09 职场文书
党员年度个人总结
2015/02/14 职场文书
python urllib库的使用详解
2021/04/13 Python
Oracle用户管理及赋权
2022/04/24 Oracle
mysql sql常用语句大全
2022/06/21 MySQL