@Override public boolean isPlaying() { if (mInternalPlayer == null) return false; int state = mInternalPlayer.getPlaybackState(); switch (state) { case Player.STATE_BUFFERING: case Player.STATE_READY: return mInternalPlayer.getPlayWhenReady(); case Player.STATE_IDLE: case Player.STATE_ENDED: default: return false; } }
public boolean isPlaying() { if (simpleExoPlayer == null) return false; final int state = simpleExoPlayer.getPlaybackState(); return (state == Player.STATE_READY || state == Player.STATE_BUFFERING) && simpleExoPlayer.getPlayWhenReady(); }
@Override public boolean isPlaying() { if (mInternalPlayer == null) return false; int state = mInternalPlayer.getPlaybackState(); switch (state) { case Player.STATE_BUFFERING: case Player.STATE_READY: return mInternalPlayer.getPlayWhenReady(); case Player.STATE_IDLE: case Player.STATE_ENDED: default: return false; } }
/** Returns a string containing player state debugging information. */ protected String getPlayerStateString() { String playbackStateString; switch (player.getPlaybackState()) { case Player.STATE_BUFFERING: playbackStateString = "buffering"; break; case Player.STATE_ENDED: playbackStateString = "ended"; break; case Player.STATE_IDLE: playbackStateString = "idle"; break; case Player.STATE_READY: playbackStateString = "ready"; break; default: playbackStateString = "unknown"; break; } return String.format( "playWhenReady:%s playbackState:%s window:%s", player.getPlayWhenReady(), playbackStateString, player.getCurrentWindowIndex()); }
@Override public void setPlayWhenReady(boolean playWhenReady) { verifyApplicationThread(); @AudioFocusManager.PlayerCommand int playerCommand = audioFocusManager.handleSetPlayWhenReady(playWhenReady, getPlaybackState()); updatePlayWhenReady(playWhenReady, playerCommand); }
@Override protected void doActionAndScheduleNextImpl( final SimpleExoPlayer player, final DefaultTrackSelector trackSelector, final Surface surface, final HandlerWrapper handler, final ActionNode nextAction) { if (nextAction == null) { return; } if (targetPlaybackState == player.getPlaybackState()) { nextAction.schedule(player, trackSelector, surface, handler); } else { player.addListener( new Player.EventListener() { @Override public void onPlayerStateChanged(boolean playWhenReady, int playbackState) { if (targetPlaybackState == playbackState) { player.removeListener(this); nextAction.schedule(player, trackSelector, surface, handler); } } }); } }
@Override public void retry() { verifyApplicationThread(); if (mediaSource != null && (getPlaybackError() != null || getPlaybackState() == Player.STATE_IDLE)) { prepare(mediaSource, /* resetPosition= */ false, /* resetState= */ false); } }
@Override protected void doActionAndScheduleNextImpl( final SimpleExoPlayer player, final DefaultTrackSelector trackSelector, final Surface surface, final HandlerWrapper handler, final ActionNode nextAction) { if (nextAction == null) { return; } if (targetPlaybackState == player.getPlaybackState()) { nextAction.schedule(player, trackSelector, surface, handler); } else { player.addListener( new Player.EventListener() { @Override public void onPlayerStateChanged(boolean playWhenReady, int playbackState) { if (targetPlaybackState == playbackState) { player.removeListener(this); nextAction.schedule(player, trackSelector, surface, handler); } } }); } }
@Override public void setAudioAttributes(AudioAttributes audioAttributes, boolean handleAudioFocus) { verifyApplicationThread(); if (!Util.areEqual(this.audioAttributes, audioAttributes)) { this.audioAttributes = audioAttributes; for (Renderer renderer : renderers) { if (renderer.getTrackType() == C.TRACK_TYPE_AUDIO) { player .createMessage(renderer) .setType(C.MSG_SET_AUDIO_ATTRIBUTES) .setPayload(audioAttributes) .send(); } } for (AudioListener audioListener : audioListeners) { audioListener.onAudioAttributesChanged(audioAttributes); } } @AudioFocusManager.PlayerCommand int playerCommand = audioFocusManager.setAudioAttributes( handleAudioFocus ? audioAttributes : null, getPlayWhenReady(), getPlaybackState()); updatePlayWhenReady(getPlayWhenReady(), playerCommand); }
private String getPlayerStateString() { String text = "playWhenReady:" + player.getPlayWhenReady() + " playbackState:"; switch (player.getPlaybackState()) { case Player.STATE_BUFFERING: text += "buffering"; break; case Player.STATE_ENDED: text += "ended"; break; case Player.STATE_IDLE: text += "idle"; break; case Player.STATE_READY: text += "ready"; break; default: text += "unknown"; break; } return text; }
private void appendPlayerState() { appendRow("Player Paused", !player.getPlayWhenReady()); String text; switch (player.getPlaybackState()) { case Player.STATE_BUFFERING: text = "buffering"; break; case Player.STATE_ENDED: text = "ended"; break; case Player.STATE_IDLE: text = "idle"; break; case Player.STATE_READY: text = "ready"; break; default: text = "unknown"; break; } appendRow("Playback State", text); }
@Override public void run() { if(mTmPlayerConn > 20 && mBuffer > 50) { stoPlayback(); } if(System.nanoTime() > mMPCheckTime) { int playbackState = player.getPlaybackState(); if (! (playbackState != Player.STATE_IDLE && playbackState != Player.STATE_ENDED)) { startPlayback(); } } } });
@Override public void pause() { if(mExoPlayer.getPlaybackState() == ExoPlayer.STATE_READY) { mExoPlayer.setPlayWhenReady(false); } }
public boolean isPlaying() { if (exoPlayer != null) { Log.d(TAG, "isPlaying playbackState= " + exoPlayer.getPlaybackState()); return exoPlayer.getPlayWhenReady(); } return false; }
@Override public boolean isPlaying() { try { if (mediaPlayer == null) return false; int state = mediaPlayer.getPlaybackState(); if (state == Player.STATE_BUFFERING || state == Player.STATE_READY) { return mediaPlayer.getPlayWhenReady(); } } catch (Exception e) { e.printStackTrace(); } return false; }
@Override public void play() { if(mExoPlayer.getPlaybackState() == ExoPlayer.STATE_READY) { mExoPlayer.setPlayWhenReady(true); } }
private boolean shouldShowControllerIndefinitely() { if (player == null) { return true; } int playbackState = player.getPlaybackState(); return controllerAutoShow && (playbackState == Player.STATE_IDLE || playbackState == Player.STATE_ENDED || !player.getPlayWhenReady()); }
@Override public int getState() { if (mExoPlayer == null) { return mExoPlayerNullIsStopped ? PlaybackStateCompat.STATE_STOPPED : PlaybackStateCompat.STATE_NONE; } switch (mExoPlayer.getPlaybackState()) { case Player.STATE_IDLE: return PlaybackStateCompat.STATE_PAUSED; case Player.STATE_BUFFERING: return PlaybackStateCompat.STATE_BUFFERING; case Player.STATE_READY: return mExoPlayer.getPlayWhenReady() ? PlaybackStateCompat.STATE_PLAYING : PlaybackStateCompat.STATE_PAUSED; case Player.STATE_ENDED: return PlaybackStateCompat.STATE_NONE; default: return PlaybackStateCompat.STATE_NONE; } }
private void initUpdateTimer() { long position = player.getCurrentPosition(); int playbackState = player.getPlaybackState(); long delayMs; if (playbackState != ExoPlayer.STATE_IDLE && playbackState != ExoPlayer.STATE_ENDED) { if (player.getPlayWhenReady() && playbackState == ExoPlayer.STATE_READY) { delayMs = 1000 - (position % 1000); if (delayMs < 200) { delayMs += 1000; } } else { delayMs = 1000; } removeUpdater(); progressUpdater = new Runnable() { @Override public void run() { updateProgress(); } }; progressHandler.postDelayed(progressUpdater, delayMs); } }
@Override public void onPlayerStateChanged(boolean playWhenReady, int playbackState) { try { if (mediaPlayer == null) return; int state = mediaPlayer.getPlaybackState(); switch (state) { case Player.STATE_IDLE: MediaPlayerManager.instance().updateState(MediaPlayerManager.PlayerState.IDLE); break; case Player.STATE_READY: if (mediaPlayer.getPlayWhenReady()) { MediaPlayerManager.instance().updateState(MediaPlayerManager.PlayerState.PLAYING); } break; case Player.STATE_BUFFERING: startProgressTimer(); break; case Player.STATE_ENDED: MediaPlayerManager.instance().updateState(MediaPlayerManager.PlayerState.PLAYBACK_COMPLETED); break; } } catch (Exception e) { e.printStackTrace(); } }