_ExoPlayer < 2.x
_には、pause()
およびresume()
関数を持つクラスPlayerControl
がありましたが、削除されました。 _ExoPlayer 2
_でこれを行う方法が見つかりません。
再生を一時停止および再開するにはどうすればよいですか?
void setPlayWhenReady(boolean playWhenReady);
を使用できます。 Exoの準備ができている場合、falseを渡すとプレーヤーを一時停止します。 trueを渡すと再開されます。 getPlaybackState()
を使用してプレーヤーの状態を確認できます
これが私のやり方です。 2つのメソッドを作成し、必要に応じて呼び出します。
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
からのものです。