Постоянный кеш Android MediaPlayer с использованием ExoPlayer

Я хотел бы использовать постоянный кеш для потоковых аудиоданных в моем приложении.

Я просмотрел веб-сайты и посмотрел на несколько существующих решений, большинство из которых требуют создания локального прокси-сервера, который записывает данные в кеш, а также обслуживает его на встроенном в MediaPlayer Android.

Наконец я столкнулся с Google ExoPlayer, который, похоже, делает именно то, что я хочу! Я считаю, что для создания кеша мне нужно использовать CacheDataSource, но я не могу понять, как его использовать!

Я прошел через документацию Google и демонстрационное приложение, но они не предоставляют много информации о кэшировании вообще.

Может кто-нибудь помочь мне и привести пример?

Ответ 1

Никогда не использовал это, но следующий учебник о том, как создать звуковой рендерер, кажется мне довольно прямым. http://google.github.io/ExoPlayer/guide.html#datasource

Могу ли я спросить, почему вы хотите реализовать постоянное кэширование с помощью медиаплеера? Когда я использовал фреймворк google MediaPlayer, он казался мне очень полезным, никогда не возникало проблем с потоковой передачей, пока у меня есть соединение с данными.

Ответ 2

Я также бесконечно искал решение для кеширования аудио с целью обеспечения автономного воспроизведения.

Наконец-то я нашел эту библиотеку: https://github.com/danikula/AndroidVideoCache

Также он называется Android Video Cache, он также работает для кеширования аудио.