1.第一个问题
使用demo测试了,本帖中描述的问题不是bug
this.audioContext.onCanplay(()=>{
//切换到后台,这里能执行,但是不能播放
console.log("进入can play");
this.audioContext.play();
})
iOS平台 onCanplay 事件如果是同一个 src 的话只会触发一次,平台差异问题,所以只播放了一次,在设置完 scr 后调用一下 play 就好了;
2.暂停状态设置倍速 >1 后会自动播放确认为bug,下个版本会修复此问题
4 个回复
_孙大圣_ (作者) - 只想用nvue
额额额有人吗
DCloud_iOS_XHY
反馈问题请使用 报 bug 模版,上传一个可复现问题的完整示例工程
_孙大圣_ (作者)
附件看看
2022-04-27 11:32
_孙大圣_ (作者)
你是处理IOS的吗,那你可以再看看这个问题,https://ask.dcloud.net.cn/question/143757?notification_id-1067405rf-falseitem_id-196563#!answer_196563 。这个是关于当暂停情况下,切换倍速,音频会自动播放,示例里面也可以测试的
2022-04-27 11:45
_孙大圣_ (作者)
大佬,看了吗这个问题
2022-04-28 13:47
_孙大圣_ (作者) - 只想用nvue
这个bug比较好重现吧,既然要了就给一个,你可以看看
DCloud_iOS_XHY
1.第一个问题
使用demo测试了,本帖中描述的问题不是bug
iOS平台 onCanplay 事件如果是同一个 src 的话只会触发一次,平台差异问题,所以只播放了一次,在设置完 scr 后调用一下 play 就好了;
2.暂停状态设置倍速 >1 后会自动播放确认为bug,下个版本会修复此问题
_孙大圣_ (作者)
第一个bug:,播放完毕是切换了src的,你可以看代码
2022-04-28 21:34
_孙大圣_ (作者)
2022-04-28 21:36
_孙大圣_ (作者)
你可以看这个,我是先播放上面那个m4a在播放下面那个11582.mp3
2022-04-28 21:36
_孙大圣_ (作者)
而且,播放第二个音频的时候,是进入了onCanplay方法的,而且也调用了play()方法,但是.play()方法是没执行成功的
2022-04-28 21:39
_孙大圣_ (作者)
不切换应用的时候,是可以在音频播放结束后切换音频的,但是切换应用后就不能了
2022-04-28 21:42
DCloud_iOS_XHY
回复 _孙大圣_: 说的是第二个播放完成后,你的逻辑不是再次循环播放第二个吗,此时 src 没变化,所以没有触发 onCanplay
2022-04-29 12:00
DCloud_iOS_XHY
this.audioContext.src = url;
src设置完后调用 play 就解决问题了
this.audioContext.play();
2022-04-29 12:04
_孙大圣_ (作者)
回复 DCloud_iOS_XHY: 我的逻辑是,播放了第一个音乐,当第一个音乐播放结束的时候,播放第二个音乐
2022-04-29 20:42
DCloud_iOS_XHY
回复 _孙大圣_: 对呀,目前你给的demo第一个播放结束后播放第二个音频没有问题呀,第二个播放结束后无法再次循环播放的问题
2022-04-29 20:45
_孙大圣_ (作者)
1、功能:播放第一个音乐,在第一个音乐播放结束的时候(onEnded),播放第二个音乐
2、Bug:播放完成第一个音乐,执行了onEnded方法,对audioContext进行了src的切换,然后在canPlay方法执行.play()方法,但是当切换到后台或者其它应用的时候,.play()方法并没有播放成功第二个音乐,注意,是切换到后台或者其他应用,Android无此问题。,、
3、我代码可能写得有点烂,那个demo里面,可能onEded,onTimeUpdate,onCanplay多注册了一次,但是不影响.play()方法触发才对
2022-04-29 20:56
_孙大圣_ (作者)
回复 DCloud_iOS_XHY: 不是循环问题,我并不需要循环,现在是第一个在播放过程中,切换到后台或者其他应用,第一个播放完成后,第二个并不能播放
2022-04-29 20:58
DCloud_iOS_XHY
回复 _孙大圣_: 这个问题没有复现,第一个播放完成后第二个可以正常播放
2022-05-05 20:09
_孙大圣_ (作者)
回复 DCloud_iOS_XHY: 第一个音乐播放的过程中,切换到后台,我找到个可以解决这个问题的方法,先将背景音乐打开,然后bgAudioMannager.src="";,先将背景音乐的链接赋值为空,这样就不会出现这个问题了
2022-05-05 22:03