在ExoPlayer < 2.x
中,有PlayerControl
个pause()
和resume()
个功能,但它已删除。我找不到在ExoPlayer 2
上执行此操作的方法。
如何暂停和恢复播放?
答案 0 :(得分:43)
您可以使用void setPlayWhenReady(boolean playWhenReady);
。如果Exo准备就绪,传递假,你将暂停播放器。传递真实,你将恢复它。您可以使用getPlaybackState()
答案 1 :(得分:17)
这是我的方式。创建两个方法并在需要时调用它们。
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();
}
答案 2 :(得分:0)
播放
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
。