[deezer][android] 作用于 PLAYING PlayerState 时曲目不播放

[deezer][android] Track not playing when acting on PLAYING PlayerState

我正在使用 android Deezer SDK 0.10.16 播放曲目,但我有一个奇怪的错误。 如果我在 TrackPlayer 上添加一个 playerStateChangeListener 并对事件 PlayerState.PLAYING 做一些 UI 更改(比如更改文本或显示吐司),曲目将永远不会开始并且我没有收到任何错误通知在。

         mDeezerPlayer.addOnPlayerStateChangeListener(new OnPlayerStateChangeListener() {
            @Override
            public void onPlayerStateChange(com.deezer.sdk.player.event.PlayerState playerState, long l) {

                if(mEventListener != null) {
                    [...]
                    if (playerState.equals(com.deezer.sdk.player.event.PlayerState.PLAYING)) { //TODO is this equal to resume?
                        mEventListener.onPlayerResume(); //WARNING if we message a toast during the first PLAYING event the track does not start
                    } 
                    [...]
                }
            }
        });

仅供参考,播放器在服务中,通过我的监听器与 activity 通信。我可以对其他 PlayerState 事件进行 UI 更改,但不能对第一个 PLAYING 进行更改。

这是SDK的问题还是我做错了什么? 谢谢

SDK确实存在问题:后台线程触发PLAYING状态。 在此事件上修改 UI 会使线程崩溃并阻止曲目播放。

以后在主线程上触发PLAYING状态事件,允许UI事件。