收藏
评论

BackgroundAudioManager 的坑

最近在写一个播放功能,需要试用 BackgroundAudioManager, 然后遇到了一些坑, 拿出来分享,同时也是看看有没有其他朋友有解。

  1. life circle 触发混乱。

onPlay和onTimeUpdate,你到底是谁先触发?在选定一首音乐播放的时候是先触发onPlay 然后触发 onTimeUpdate,但是在seek 的时候onTimeUpdate 会先与onPlay触发,这是为什么???


    2. 基础库混乱。

这个问题更多。

a. API上不标注这个方法是从那个版本开始支持的,在试用过程中报出isNot a function。

eg:  onSeeking and on Seeked. 这两个事件是在最新的版本上才支持。


b. 手机触发事件和开发环境不一样。

同样的seek事件,开发环境的事件顺序是: onWaiting > onCanPlay > onTimeUpdate

手机上测试的事件顺序是:onPlay > onTimeUpdate

对,你没看错,事件不一样,顺序也奇怪。

我不奢求你新增的onSeeking and Seeked 好使, 你之前就支持的事件能不能处理好顺序啊,这不是这个

backgroundAudioManager 的生命周期很必要的事情吗?


c. onPlay 在开发环境上只有在新获取BackgroundAudioManager,赋值src的时候触发一次。seek 并不会再次触发这个事件,onCanPlay会在seek 之后触发。奇怪的是,换到手机环境下,onCanPlay只会在开始触发一次,seek之后onPlay会被触发。 搞我????????


目前的情况就是,我不能完整的监听seek 事件的 before, doing and done.


环境:




开发环境播放音乐事件触发顺序:


完全理解不了这都哪跟哪~



最后一次编辑于  2018-09-22  (未经腾讯允许,不得转载)
收藏赞 1

2 个评论

  • season
    season
    2018-11-28

    你好。bug及相关反馈引起强烈舒适,请继续吐槽。此贴建议加精。

    2018-11-28
    赞同 2
    回复
  • nickname
    nickname
    2018-09-25

    你好,bug以及相关反馈请勿提到经验分享模块,请重新发帖提问并提供能复现问题的代码片段,此帖先隐藏

    2018-09-25
    赞同
    回复