小程序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 相关文章推荐
让textarea控件的滚动条怎是位与最下方
Apr 20 Javascript
JavaScript中使用Substring删除字符串最后一个字符
Nov 03 Javascript
用JS在浏览器中创建下载文件
Mar 05 Javascript
express的中间件basicAuth详解
Dec 04 Javascript
JS实现点击文字对应DIV层不停闪动效果的方法
Mar 02 Javascript
对jQuary选择器的全面总结
Jun 20 Javascript
Javascript 正则表达式校验数字的简单实例
Nov 02 Javascript
Layui数据表格之获取表格中所有的数据方法
Aug 20 Javascript
策略模式实现 Vue 动态表单验证的方法
Sep 16 Javascript
Vue中this.$nextTick的作用及用法
Feb 04 Javascript
详解JavaScript的this指向和绑定
Sep 08 Javascript
手写Spirit防抖函数underscore和节流函数lodash
Mar 22 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 CURL模拟GET及POST函数代码
2010/04/25 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
JS声明变量背后的编译原理剖析
2012/12/28 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
巧用jQuery选择器提高写表单效率的方法
2016/08/19 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
Python yield 使用浅析
2015/05/28 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
python实现数据分析与建模
2019/07/11 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
在线服装零售商:SheIn
2016/07/22 全球购物
美国电视购物:QVC
2017/02/06 全球购物
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
优秀求职信范文分享
2014/01/26 职场文书
学习全国两会精神心得体会范文
2014/03/17 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
房产协议书范本2014
2014/09/30 职场文书
云冈石窟导游词
2015/02/04 职场文书
2015年体育教学工作总结
2015/05/20 职场文书
机器人总动员观后感
2015/06/09 职场文书
2016年教师新年寄语
2015/08/18 职场文书
2019毕业论文致谢词
2019/06/24 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
Python实现排序方法常见的四种
2021/07/15 Python
Win11软件图标固定到任务栏
2022/04/19 数码科技