2016-11-11 374 views

回答

15

可以使用void setPlayWhenReady(boolean playWhenReady);。如果Exo準備好了,傳遞false將會暫停播放器。傳遞正確,你會恢復它。您可以使用getPlaybackState()

+1

請與代碼回答所以可以正確地理解它 –

+2

要暫停,並用相同的按鈕,您可以使用玩!'player.setPlayWhenReady(player.getPlayWhenReady() );'。 – Virusman

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(); 
} 
+8

爲什麼在「播放準備就緒」之後改變了'player.getPlaybackState();'後? – Caipivara

+0

Exoplayer採取'1秒/ 2sec'上恢復'@Override 保護無效的onResume(){ super.onResume(); startPlayer(); }'我如何解決這個音頻播放,但視頻開始晚了 –