如果更改网络连接,则ExoPlayer在STATE_IDLE上冻结

时间:2019-06-04 06:56:52

标签: android

我正在为Android设备编写便携式播放器,发现一个有趣的错误:如果连接已更改(例如3G更改为2G或3G更改为WiFi),则播放器进入STATE_IDLE并冻结。在这种情况下,通话暂停而不是播放,将无法正常工作。

@Override
        public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
            switch (playbackState){
                case Player.STATE_ENDED:{
                    setNewState(PlaybackStateCompat.STATE_PAUSED);
                    break;
                }
                case Player.STATE_BUFFERING:{
                    Log.d(TAG, "onPlayerStateChanged: BUFFERING");
                    mStartTime = System.currentTimeMillis();
                    break;
                }
                case Player.STATE_IDLE:{
                    break;
                }
                case Player.STATE_READY:{
                    Log.d(TAG, "onPlayerStateChanged: READY");
                    Log.d(TAG, "onPlayerStateChanged: TIME ELAPSED: " + (System.currentTimeMillis() - mStartTime));
                    break;
                }
            }
        }

我想在网络可用时恢复当前正在播放的歌曲。我该如何实现?

0 个答案:

没有答案