麻烦提供出现问题的手机类型、微信号、时间点,另外,最好提供一下录音参数
已授权录音权限还是无法录音部分用户反馈已授权录音权限还是无法录音 问题机型:苹果11,华为P30,荣耀V8、iPad(型号未知)、坚果pro 用户操作视频: https://cdn.kaishuhezi.com/kstory/activity_flow/video/a5a44781-11b8-453e-9b97-68151bca3a01.mp4
2021-01-20目前正在跟进中
华为无法播放音频 errCode:62,err:load or init...问题:用户反馈无法收听我们小程序内的音频,排查发现为部分安卓机型(主要是华为)播放 pcm_alaw 编码的 wav 音频时出现报错 复现操作 在网络上找了一段可以正常播放的 wav 音频,与我们使用的音频比较发现编码格式不同,前者为 pcm_s16le,我们使用的是 pcm_alaw将可以正常播放的 wav 音频转为 pcm_alaw 编码后,同样无法播放,报错如图测试使用机型:华为p20 pro 预期表现: 点击代码片段中的两个播放按钮,均可以正常播放 出错截图 [图片] 背景说明:我们使用的音频格式从 2019 年至今没有变更过,最近出现了许多用户反馈,希望官方可以排查下问题原因,感谢!
2021-01-202021-01-19 17:33:29.549 27875-27926/com.tencent.mm E/MicroMsg.Music.ExoMusicPlayer: [, , 27926]:internalError [10.43, loadError] com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 502 at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:213) at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:137) at com.google.android.exoplayer2.upstream.DataSourceInputStream.checkOpened(DataSourceInputStream.java:102) at com.google.android.exoplayer2.upstream.DataSourceInputStream.open(DataSourceInputStream.java:65) at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:114) at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:760)
BackgroundAudioManager hls模式在IOS上能播放,安卓上不能播放?麻烦帮忙看下为什么在安卓上不能正常播放。 代码片段: https://developers.weixin.qq.com/s/stA0Ajmg7Tl0
2021-01-19你好,getBackgroundAudioManager可以获取duration,前提是播放或者暂停状态下才可以
getBackgroundAudioManager在真机无法无法获取duratoin?的代码片段代码在这里。。打印了duration,真机预览,看输出 https://developers.weixin.qq.com/s/ElVyhwmd7ql6
2021-01-19小程序音频播放接口分两套,一个是音频播放 innerAudioContext,只能在前台播放,一套是背景音乐接口backgroundmanager,可以在后台播放,但是后台播放音乐的接口需要申请后台播放的权限才能继续播放,否则超过一定的时间小程序进程被kill掉,就会停掉了
webview 嵌入的界面里的音频,在有些手机息屏后无法继续播放,如何实现可以息屏的时候继续播放?在小程序里的webview外链的界面https://m.qingxuetang.com/x/entry/hY_pWrl4lfs里,播放音频,有些手机息屏后可以继续播放,有些不可以。安卓手机小米10就不可以继续播放。
2021-01-19你好,小程序前台播放音频时,如果突然接了语音电话,小程序会退出到后台,关闭电话后回到微信主页面,这个是安卓系统架构设计的原因导致,暂时无法解决,实际上微信主app和小程序算是两个不同app了,安卓的activity task目前设计无法解决此类问题
小程序播放音频时,接了个语音电话,就退出小程序了?小程序播放音频时,这时候接了个语音电话,就直接退出小程序了,有什么方法解决不退出吗?
2021-01-19这个问题会在7.0.23修复
InnerAudioContext创建的特定音频,seek小于currentTime无效Component({ data: { audio: null, currentTime: 0, duration: 0 }, attached() { const audio = wx.createInnerAudioContext() this.setData({ audio }) audio.src = "https://1257107138.vod2.myqcloud.com/288f6a2cvodsh1257107138/3291a5fe5285890810640015371/Wrtjv5effAcA.mp3" // 往前seek无效 // audio.src = "https://1257107138.vod2.myqcloud.com/c99bf365vodcq1257107138/bc830cfd5285890805589477059/KbZsADrsIiEA.mp3" // 正常seek audio.onTimeUpdate(() => { console.log('onTimeUpdate') this.setData({ currentTime: audio.currentTime }) }) const getDurationTimer = setInterval(() => { if (audio.duration) { clearInterval(getDurationTimer) this.setData({ duration: audio.duration }) } }, 100) }, methods: { moved(event) { const audio = this.data.audio audio.pause() // 修复seek后onTimeUpdate监听失效 audio.seek(event.detail.value) setTimeout(audio.play, 50) // 修复seek后onTimeUpdate监听失效 }, play() { this.data.audio.play() }, pause() { this.data.audio.pause() }, stop() { this.data.audio.stop() } } }) <slider class="slider" value="{{ currentTime }}" min="0" max="{{ duration }}" bindchange="moved" ></slider> <button bindtap="play">播放</button> <button bindtap="pause">暂停</button> <button bindtap="stop">停止</button> // ****************************************************************************************************************************************************** 向左拖动音频进度条,触发seek事件,但是无效。(ios端和工具端正常) [图片]
2021-01-19目前正在跟进解决中
decode audio fail- 当前 Bug 的表现(可附上截图) .mp3音频文件播放到一半的时候报错,错误信息:errCode:1001 errMsg: 'errCode67,err:decode audio fail' 尝试过在线播放和下载后播放,都会报错 - 预期表现 正常播放 - 复现路径 使用MIX 2S必现 - 提供一个最简复现 Demo const app = getApp() Page({ data: { innerAudioContext: null }, onShow: function() { this.data.innerAudioContext && this.data.innerAudioContext.stop() this.data.innerAudioContext && this.data.innerAudioContext.play() }, onLoad: function () { const innerAudioContext = wx.createInnerAudioContext() innerAudioContext.src = 'https://xcx-cdn-ali.kaochong.com/hearing/voice_url/voice_url-1550566505778.mp3' innerAudioContext.onPlay(() => { console.log('开始播放') }) innerAudioContext.onError((res) => { console.log(res.errMsg) console.log(res.errCode) }) this.setData({ innerAudioContext: innerAudioContext }) } })
2021-01-08这个已经解决,会在新版本更新
音频切换前后台,无法恢复播放的问题属于兼容性问题 复现平台:安卓 机型:小米 6、华为 荣耀 10 问题 demo: http://creatorpp.cn/wx_audio_demo.zip 预期:从后台进入前台后,音乐继续播放 实际结果:从后台回到前台后,音乐重新播放,或者概率性不播放 CODE: let a = wx.createInnerAudioContext(); a.src = 'audio.mp3'; a.onCanplay(() => { let a1 = wx.createInnerAudioContext(); a1.src = 'audio.mp3'; a1.onCanplay(() => { a1.play(); wx.onHide(() => { a1.pause(); }); wx.onShow(() => { a1.play(); // <----- 切到前台的时候,调用 play,可能会重新播放,大概率无法播放 }); }); })
2020-06-16非常抱歉,我们将会在最近的版本修复该问题
微信小游戏audio音量调节无用[代码]class WxSoundManager {[代码][代码] [代码][代码]private static _instance: WxSoundManager = [代码][代码]new[代码] [代码]WxSoundManager;[代码][代码] [代码][代码]public static getIns(): WxSoundManager {[代码][代码] [代码][代码]return[代码] [代码]this[代码][代码]._instance;[代码][代码] [代码][代码]}[代码][代码] [代码][代码]private audio: InnerAudioContext = [代码][代码]null[代码][代码];[代码] [代码] [代码][代码]private constructor() {[代码][代码] [代码][代码]}[代码][代码] [代码][代码]public bgMPlay() {[代码][代码] [代码][代码]if[代码] [代码](![代码][代码]this[代码][代码].audio) {[代码][代码] [代码][代码]this[代码][代码].audio = wx.createInnerAudioContext();[代码][代码] [代码][代码]this[代码][代码].audio.src = GameConst.soundRes.bgm;[代码][代码] [代码][代码]this[代码][代码].audio.loop = [代码][代码]true[代码][代码];[代码][代码] [代码][代码]this[代码][代码].audio.volume = GameDataManager.ins.bgmVolume;[代码][代码] [代码][代码]this[代码][代码].audio.stop();[代码][代码] [代码][代码]this[代码][代码].audio.play();[代码][代码] [代码][代码]return[代码][代码];[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]this[代码][代码].audio.paused) {[代码][代码] [代码][代码]this[代码][代码].audio.play();[代码][代码] [代码][代码]this[代码][代码].audio.volume = GameDataManager.ins.bgmVolume;[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]public bgMStop() {[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]this[代码][代码].audio) {[代码][代码] [代码][代码]this[代码][代码].audio.stop();[代码][代码] [代码][代码]this[代码][代码].audio.destroy();[代码][代码] [代码][代码]this[代码][代码].audio = [代码][代码]null[代码][代码];[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]public bgMPause() {[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]this[代码][代码].audio) {[代码][代码] [代码][代码]this[代码][代码].audio.pause();[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]public setBgmVolume(volume: number) {[代码][代码] [代码][代码]if[代码][代码]([代码][代码]this[代码][代码].audio) {[代码][代码] [代码][代码]this[代码][代码].audio.volume = volume;[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]public soundEffectPlay(_url: string) {[代码][代码] [代码][代码]let effect: InnerAudioContext = wx.createInnerAudioContext();[代码][代码] [代码][代码]effect.src = _url;[代码][代码] [代码][代码]effect.volume = GameDataManager.ins.soundEffVolume;[代码][代码] [代码][代码]effect.stop();[代码][代码] [代码][代码]effect.play();[代码][代码] [代码][代码]effect.onEnded(() => {[代码][代码] [代码][代码]effect.destroy();[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码][代码]}[代码]audio的volume属性在微信开发者工具上没有问题,在真机上完全没有起到任何作用,背景音乐、背景音效播放的都是音频原始音量。请问有人遇到相同的问题吗,该怎么解决?我用的是Egret5.2.29,开发者工具是最新版本,手机是红米K20,Android9。
2020-03-22