@Override public float getPosition () { if (player == null) return 0.0f; return player.getCurrentPosition() / 1000f; }
@Override public float getPosition () { if (player == null) return 0.0f; return player.getCurrentPosition() / 1000f; }
@Override public long getCurrentPosition() { if (mediaPlayer != null) { return mediaPlayer.getCurrentPosition(); } else { return 0; } }
@Override public long getCurrentPosition() { if (mediaPlayer != null) { return mediaPlayer.getCurrentPosition(); } else { return 0; } }
public long position() { return mCurrentMediaPlayer.getCurrentPosition(); }
public long position() { if (mIsTrackPrepared) { try { return mCurrentMediaPlayer.getCurrentPosition(); } catch (Exception e) { e.printStackTrace(); } } return -1; }
@Override public void run() { //seek bar seekBar1.setProgress(mp .getCurrentPosition()); if (mp !=null) seekBar1.setProgress(mp.getCurrentPosition()); } });
private void saveVideoParams(Bundle outState) { if (mediaPlayer != null) { outState.putInt(VIDEO_POSITION_ARG, mediaPlayer.getCurrentPosition()); outState.putBoolean(VIDEO_IS_PLAYED_ARG, mediaPlayer.isPlaying()); } }
@Test public void testStop() { shadowMediaPlayer.setState(PREPARED); mediaPlayer.start(); scheduler.advanceBy(300); mediaPlayer.stop(); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(300); scheduler.advanceBy(400); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(300); }
@Test public void testCurrentPosition() { int[] positions = { 0, 1, 2, 1024 }; for (int position : positions) { shadowMediaPlayer.setCurrentPosition(position); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(position); } }
/** * While in the PlaybackCompleted state, calling start() can restart the * playback from the beginning of the audio/video source. */ @Test public void testStartAfterPlaybackCompleted() { shadowMediaPlayer.setState(PLAYBACK_COMPLETED); shadowMediaPlayer.setCurrentPosition(1000); mediaPlayer.start(); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(0); }
@Override public int getCurrentPosition() { if(available()&& (getState()== STATE_PREPARED || getState()== STATE_STARTED || getState()== STATE_PAUSED || getState()== STATE_PLAYBACK_COMPLETE)){ return mMediaPlayer.getCurrentPosition(); } return 0; }
@Config(minSdk = O) @Test public void testSeekToMode() { shadowMediaPlayer.setState(PREPARED); // This time offset is just to make sure that it doesn't work by // accident because the offsets are calculated relative to 0. scheduler.advanceBy(100); mediaPlayer.start(); scheduler.advanceBy(400); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(400); mediaPlayer.seekTo(600, MediaPlayer.SEEK_CLOSEST); scheduler.advanceBy(0); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(600); }
@Test public void testSeekDuringPlaybackDelayedCallback() { shadowMediaPlayer.setState(PREPARED); shadowMediaPlayer.setSeekDelay(100); assertThat(shadowMediaPlayer.getSeekDelay()).isEqualTo(100); mediaPlayer.start(); scheduler.advanceBy(200); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(200); mediaPlayer.seekTo(450); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(200); scheduler.advanceBy(99); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(200); Mockito.verifyZeroInteractions(seekListener); scheduler.advanceBy(1); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(450); Mockito.verify(seekListener).onSeekComplete(mediaPlayer); assertThat(scheduler.advanceToLastPostedRunnable()).isTrue(); Mockito.verifyNoMoreInteractions(seekListener); }
@Test public void testSeekWhilePausedDelayedCallback() { shadowMediaPlayer.setState(PAUSED); shadowMediaPlayer.setSeekDelay(100); scheduler.advanceBy(200); mediaPlayer.seekTo(450); scheduler.advanceBy(99); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(0); Mockito.verifyZeroInteractions(seekListener); scheduler.advanceBy(1); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(450); Mockito.verify(seekListener).onSeekComplete(mediaPlayer); // Check that no completion callback or alternative // seek callbacks have been scheduled. assertThat(scheduler.advanceToLastPostedRunnable()).isFalse(); }
@Test public void testSetLoopingCalledWhileStartable() { final State[] startableStates = { PREPARED, PAUSED }; for (State state : startableStates) { shadowMediaPlayer.setCurrentPosition(500); shadowMediaPlayer.setState(state); mediaPlayer.setLooping(true); mediaPlayer.start(); scheduler.advanceBy(700); Mockito.verifyZeroInteractions(completionListener); assertThat(mediaPlayer.getCurrentPosition()).named(state.toString()) .isEqualTo(200); } }
@Test public void testSeekWhileSeekingWhilePaused() { shadowMediaPlayer.setState(PAUSED); shadowMediaPlayer.setSeekDelay(100); scheduler.advanceBy(200); mediaPlayer.seekTo(450); scheduler.advanceBy(50); mediaPlayer.seekTo(600); scheduler.advanceBy(99); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(0); Mockito.verifyZeroInteractions(seekListener); scheduler.advanceBy(1); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(600); Mockito.verify(seekListener).onSeekComplete(mediaPlayer); // Check that no completion callback or alternative // seek callbacks have been scheduled. assertThat(scheduler.advanceToLastPostedRunnable()).isFalse(); }
/** * If the looping mode was being set to {@code true} * {@link MediaPlayer#setLooping(boolean)}, the MediaPlayer object shall * remain in the Started state. */ @Test public void testSetLoopingCalledWhilePlaying() { shadowMediaPlayer.setState(PREPARED); mediaPlayer.start(); scheduler.advanceBy(200); mediaPlayer.setLooping(true); scheduler.advanceBy(1100); Mockito.verifyZeroInteractions(completionListener); assertThat(mediaPlayer.getCurrentPosition()).isEqualTo(300); mediaPlayer.setLooping(false); scheduler.advanceBy(699); Mockito.verifyZeroInteractions(completionListener); scheduler.advanceBy(1); Mockito.verify(completionListener).onCompletion(mediaPlayer); }
@Test public void testSeekBeforeStart() { shadowMediaPlayer.setSeekDelay(-1); for (State state : seekableStates) { shadowMediaPlayer.setState(state); shadowMediaPlayer.setCurrentPosition(500); mediaPlayer.seekTo(-1); shadowMediaPlayer.invokeSeekCompleteListener(); assertThat(mediaPlayer.getCurrentPosition()).named( "Current postion while " + state).isEqualTo(0); assertThat(shadowMediaPlayer.getState()).named("Final state " + state) .isEqualTo(state); } }
@Test public void testSeekPastEnd() { shadowMediaPlayer.setSeekDelay(-1); for (State state : seekableStates) { shadowMediaPlayer.setState(state); shadowMediaPlayer.setCurrentPosition(500); mediaPlayer.seekTo(1001); shadowMediaPlayer.invokeSeekCompleteListener(); assertThat(mediaPlayer.getCurrentPosition()).named( "Current postion while " + state).isEqualTo(1000); assertThat(shadowMediaPlayer.getState()).named("Final state " + state) .isEqualTo(state); } }