Страницы

Поиск по вопросам

среда, 10 июля 2019 г.

MediaPlayer сохранить буферизованный файл

Я использую MediaPlayer для воспроизведения аудиофайла, который находится в сети internet. Все отлично воспроизводится, но теперь мне нужно параллельно сохранить воспроизводимый файл. Я конечно могу его повторно скачать и сохранить, но ведь он уже загружен в MediaPlayer. Как мне достать его оттуда и сохранить? Еще вариант - как подсунуть Mediaplayer'у поток байтов для воспроизведения, например


Ответ

В итоге решил изменить подход: Вместо того, чтобы выковыривать кешированный файл из MediaPlayer, я решил кешировать его вручную. Для этого я использую прокси-сервер, который работает внутри самого приложения, и кеширует все файлы, проходящие через него. Конкретно использую эту библиотеку AndroidVideoCache Несмотря на название, она подходит так же и для кеширования аудио-файлов. Работает следующим образом:
proxy = new HttpProxyCacheServer.Builder(this).build(); ... String proxyUrl = proxy.getProxyUrl(file.getURL()); mediaPlayer.setDataSource(this, Uri.parse(proxyUrl));

Комментариев нет:

Отправить комментарий