【发布时间】:2017-03-26 02:56:13
【问题描述】:
在ExoPlayer < 2.x 中有一个类PlayerControl 具有pause() 和resume() 函数,但它已被删除。我在 ExoPlayer 2 上找不到执行此操作的方法。
如何暂停和恢复播放?
【问题讨论】:
标签: android video-streaming exoplayer exoplayer2.x
在ExoPlayer < 2.x 中有一个类PlayerControl 具有pause() 和resume() 函数,但它已被删除。我在 ExoPlayer 2 上找不到执行此操作的方法。
如何暂停和恢复播放?
【问题讨论】:
标签: android video-streaming exoplayer exoplayer2.x
您可以使用void setPlayWhenReady(boolean playWhenReady)。
如果 Exo 准备好了,传递 false 将暂停播放器。传递true 将恢复它。您可以使用getPlaybackState()查看播放器的状态。
【讨论】:
player.setPlayWhenReady(!player.getPlayWhenReady());。
这是我的方式。创建两个方法并在需要时调用它们。
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.getPlaybackState();?
1sec/2sec on resume @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。
【讨论】:
player.getPlaybackState()== Player.STATE_READY