Я использую Android MediaPlayer для воспроизведения видео в моем приложении.
Я намеренно использую MediaPlayer.prepare()
вместо MediaPlayer.prepareAsync()
, потому что я хочу знать, когда утверждение закончено, чтобыЯ могу, например, скрыть индикатор выполнения.
Я понимаю, что мог бы сделать это с MediaPlayer.prepareAsync()
, но, поскольку это создало бы ужасные издержки в моем коде, использовалось бы только для этого обнаружения и, вероятно, в любом случае не помогло бы в этой ситуации, яя не хочу этого делать.
Когда я начинаю свою деятельность с загрузки видео и пытаюсь вернуться к предыдущей активности до ее завершения MediaPlayer.prepare()
, она выдает IllegalStateException
.
Все шаги, которые я предпринимаю до этого, синхронизированы, поэтому здесь можно было бы просто перехватить исключение и проигнорировать его, однако я не хочу, чтобы выбрасывание и перехват исключения было ожидаемым, если я могу избежать этого.
Я уже пытался дозвониться до MediaPlayer.reset()
, пока MediaPlayer.prepare()
работает, но происходит то же самое.