1

В API 23 для поддержки MediaPlayer были добавлены PlaybackParams.Android: видео с переменной скоростью API 23

Кому-нибудь повезло с методом setSpeed в PlaybackParams? Я стараюсь, чтобы замедлить видео на MediaPlayer и получаю ошибку 100 (MEDIA_ERROR_SERVER_DIED):

Ссылки:

+0

Вы уверены, что изменение скорости воспроизведения вызывает это? Я не уверен, как собственный медиаплеер обрабатывает скорость воспроизведения. Если медиаплеер отправляет скорость воспроизведения в виде заголовка на сервер, и он сбрасывает его, то сервер не поддерживает переменную скорость воспроизведения. Попробуйте буферизировать его на 100%, отключите соединение и попробуйте изменить скорость воспроизведения, чтобы убедиться, что он выполняется только локально. –

+0

Я сомневаюсь, что 'setSpeed' как-то манипулирует моим сервером, как вы упомянули, потому что я тоже пытался использовать локальный файл, думая, что это связано с проблемой подключения. Даже с местным видео-файлом я получаю ту же ошибку. Спасибо за предложение. –

+0

Что вы получаете с локальным файлом? –

ответ

1
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      //Log.d(TAG, "onPrepared Start: " + mPlaybackState + " LeanbackPlaybackState:" + LeanbackPlaybackState.PLAYING); 
      if (mPlaybackState == LeanbackPlaybackState.FastForward) { 
       mp.setPlaybackParams(new PlaybackParams().setSpeed(3.0f)); 
       mVideoView.start(); 
       Log.d(TAG, "onPrepared: if " + mPlaybackState + " LeanbackPlaybackState:" + LeanbackPlaybackState.FastForward); 
      } 
      else 
      if (mPlaybackState == LeanbackPlaybackState.PLAYING){ 
       mp.setPlaybackParams(new PlaybackParams().setSpeed(1.0f)); 
       mVideoView.start(); 
       Log.d(TAG, "onPrepared: else " + mPlaybackState + " LeanbackPlaybackState:" +LeanbackPlaybackState.PLAYING); 
      } 
     } 

    }); 
+0

Это похоже на использование библиотеки Leanback для Android TV и VideoView. Я не использую Leanback, и я использую MediaPlayer с SurfaceView вместо VideoView. Не уверен, что это хорошо отражается на том, что я пытаюсь сделать. –

Смежные вопросы