当前位置: 首页 > Web前端 > HTML5

小程序ios音频播放没有声音问题

时间:2023-04-05 00:24:14 HTML5

该小程序提供了录制和播放音频的功能。从基础库1.6.0开始支持wx.getRecorderManager()。录音使用wx.getRecorderManager()提供的api,播放音频文件使用wx.createInnerAudioContext()提供的api导入录音和播放音频函数constrecorderManager=wx.getRecorderManager();//录音函数constinnerAudioContext=wx.createInnerAudioContext();//播放音频注册录音结束事件//recordingendrecorderManager.onStop((res)=>{console.log('recorderstop');const{tempFilePath}=res;//用于录音的本地临时文件//...播放音频innerAudioContext.src=tempFilePath;innerAudioContext.play();});开始录制constoptions={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!附上小程序开发文档链接