private MediaPlayer createAndBindMediaPlayer(Either<Surface, SurfaceHolder> surface, Uri videoUri) throws IOException, IllegalStateException, IllegalArgumentException { MediaPlayer mediaPlayer = mediaPlayerCreator.createMediaPlayer(); mediaPlayer.setOnPreparedListener(internalPreparedListener); mediaPlayer.setOnVideoSizeChangedListener(internalSizeChangedListener); mediaPlayer.setOnCompletionListener(internalCompletionListener); mediaPlayer.setOnErrorListener(internalErrorListener); mediaPlayer.setOnBufferingUpdateListener(internalBufferingUpdateListener); mediaPlayer.setDataSource(context, videoUri, NO_HEADERS); attachSurface(mediaPlayer, surface); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaPlayer.setScreenOnWhilePlaying(true); currentBufferPercentage = 0; volume = 1.0f; return mediaPlayer; }
static AndroidMediaPlayerFacade newInstance(Context context, MediaPlayerForwarder forwarder) { TrackInfosFactory trackInfosFactory = new TrackInfosFactory(); AndroidMediaPlayerAudioTrackSelector trackSelector = new AndroidMediaPlayerAudioTrackSelector(trackInfosFactory); PlaybackStateChecker playbackStateChecker = new PlaybackStateChecker(); AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); MediaPlayerCreator mediaPlayerCreator = new MediaPlayerCreator(); return new AndroidMediaPlayerFacade(context, forwarder, audioManager, trackSelector, playbackStateChecker, mediaPlayerCreator); }
@Before public void setUp() { NoPlayerLog.setLoggingEnabled(false); facade = new AndroidMediaPlayerFacade(context, forwarder, audioManager, trackSelector, playbackStateChecker, mediaPlayerCreator); given(mediaPlayerCreator.createMediaPlayer()).willReturn(mediaPlayer); given(playbackStateChecker.isInPlaybackState(eq(mediaPlayer), any(PlaybackStateChecker.PlaybackState.class))).willReturn(IS_IN_PLAYBACK_STATE); eitherSurface = Either.left(surface); givenSurfaceRequesterReturns(eitherSurface); given(forwarder.onPreparedListener()).willReturn(preparedListener); given(forwarder.onCompletionListener()).willReturn(completionListener); given(forwarder.onErrorListener()).willReturn(errorListener); given(forwarder.onSizeChangedListener()).willReturn(videoSizeChangedListener); }