Как правильно отменить MediaPlayer.prepare ()? - PullRequest
0 голосов
/ 14 марта 2019

Я использую Android MediaPlayer для воспроизведения видео в моем приложении.

Я намеренно использую MediaPlayer.prepare() вместо MediaPlayer.prepareAsync(), потому что я хочу знать, когда утверждение закончено, чтобыЯ могу, например, скрыть индикатор выполнения.

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

Когда я начинаю свою деятельность с загрузки видео и пытаюсь вернуться к предыдущей активности до ее завершения MediaPlayer.prepare(), она выдает IllegalStateException.

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

Я уже пытался дозвониться до MediaPlayer.reset(), пока MediaPlayer.prepare() работает, но происходит то же самое.

...