SetPlaybackParams вызывает исключение IllegalStateExceptionAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 SetPlaybackParams вызывает исключение IllegalStateException

Сообщение Anonymous »

Мое использование медиаплеера вполне типично, и проблемы возникают только при попытке установить параметры воспроизведения.
  • Создайте медиаплеер
    MediaPlayer mMediaPlayer = new MediaPlayer();
  • setDataSource в локальный файл-посредник, который, как известно, работает
  • mMediaPlayer.prepareAsync();
    Обратный вызов OnPrepared() вызывает mMediaPlayer.start()< /li>
Если я позвоню:

Код: Выделить всё

if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.M) {
mMediaPlayer.setPlaybackParams(new PlaybackParams().setSpeed(2.0f));
}
Прежде чем я вызову mMediaPlayer.start(), скорость воспроизведения будет изменена, как и ожидалось, и никаких исключений не произойдет. Если я вызову setSpeed() после вызова mMediaPlayer.start(), приложение выйдет из строя с исключением illegateStateException.

Интересно, что это происходит только на телефонах (nexus 5, прив), но на протестированных планшетах (нексус 7 и 9) работает нормально.

В некоторых предложениях, которые я видел, упоминалась приостановка звука и ожидание в несколько сотен миллисекунд, это не помогло.

Судя по документации, установка скорости воспроизведения во время воспроизведения звука вполне приемлема. Есть ли у кого-нибудь идеи, что здесь происходит? Я потратил слишком много времени на изучение этого вопроса.

Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/394 ... eexception
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»