Я использую Android MediaPlayer
для воспроизведения файлов MP3, которые одновременно загружаются из Интернета с помощью DownloadManager
. Я знаю о возможности MediaPlayer
для потоковой передачи напрямую, но я не хочу использовать это:
Очевидное преимущество, которое вы получаете при загрузке и одновременном потоке из файла, заключается в том, что таким образом файл сохраняется и доступен локально впоследствии.
- Это работает в принципе -
MediaPlayer
начинает воспроизводить файл, даже если он не полностью загружен. (Кстати, моя проблема НЕ в том, что я не могу получитьMediaPlayer
для воспроизведения.) - Проблема заключается в том, что когда
MediaPlayer
переходит в положение, когда статус загрузки был только когда он начал воспроизводиться, он останавливается и вызываетonCompletion
. (Уточнение: предположим, что файл загружается на 12%, когда я начинаю играть. Когда игрок достигает позиции на 12%, он останавливается.) - Быстрая заметка:
OnBufferingUpdateListener.onBufferingUpdate(...)
не вызывается, когда что-то добавляется в файл MP3 черезDownloadManager
.
Итак, вопрос: Как я могу одновременно загрузить аудиофайл в файловую систему и воспроизвести его? (Android 4+ хватает, если это имеет значение.)