如何暂停 ExoPlayer 2 播放和恢复(PlayerControl 已删除)
How to pause ExoPlayer 2 playback and resume (PlayerControl was removed)
在 ExoPlayer < 2.x
中有一个 class PlayerControl
具有 pause()
和 resume()
功能,但它已被删除。我在 ExoPlayer 2
.
上找不到执行此操作的方法
如何暂停和继续播放?
您可以使用 void setPlayWhenReady(boolean playWhenReady)
.
如果 Exo 准备就绪,传递 false
将暂停播放器。传递 true
将恢复它。您可以使用 getPlaybackState()
.
检查播放器的状态
这是我的方式。创建两个方法并在需要时调用它们。
private void pausePlayer(){
player.setPlayWhenReady(false);
player.getPlaybackState();
}
private void startPlayer(){
player.setPlayWhenReady(true);
player.getPlaybackState();
}
在这里打电话给他们
@Override
protected void onPause() {
super.onPause();
pausePlayer();
}
@Override
protected void onResume() {
super.onResume();
startPlayer();
}
播放
player.setPlayWhenReady(true);
暂停
player.setPlayWhenReady(false);
你可以这样查看播放状态:
private boolean isPlaying() {
return player != null
&& player.getPlaybackState() != Player.STATE_ENDED
&& player.getPlaybackState() != Player.STATE_IDLE
&& player.getPlayWhenReady();
}
这些代码来自PlayerControlView
。
在 ExoPlayer < 2.x
中有一个 class PlayerControl
具有 pause()
和 resume()
功能,但它已被删除。我在 ExoPlayer 2
.
如何暂停和继续播放?
您可以使用 void setPlayWhenReady(boolean playWhenReady)
.
如果 Exo 准备就绪,传递 false
将暂停播放器。传递 true
将恢复它。您可以使用 getPlaybackState()
.
这是我的方式。创建两个方法并在需要时调用它们。
private void pausePlayer(){
player.setPlayWhenReady(false);
player.getPlaybackState();
}
private void startPlayer(){
player.setPlayWhenReady(true);
player.getPlaybackState();
}
在这里打电话给他们
@Override
protected void onPause() {
super.onPause();
pausePlayer();
}
@Override
protected void onResume() {
super.onResume();
startPlayer();
}
播放
player.setPlayWhenReady(true);
暂停
player.setPlayWhenReady(false);
你可以这样查看播放状态:
private boolean isPlaying() {
return player != null
&& player.getPlaybackState() != Player.STATE_ENDED
&& player.getPlaybackState() != Player.STATE_IDLE
&& player.getPlayWhenReady();
}
这些代码来自PlayerControlView
。