У меня нет большого опыта создания приложений для Android, и я пытаюсь создать небольшое приложение с помощью ExoPlayer. Так что, надеюсь, вы, ребята, простите мое невежество. По сути, я пытаюсь выяснить, есть ли способ получить доступ к буферизованным файлам. Я искал вокруг, но, похоже, нет ответа на этот вопрос. Я видел, как люди говорили о cacheDataSource, но потом подумал, а не кэшируются ли данные уже благодаря буферизации? Например, когда начинается видео, оно начинает буферизоваться. Это продолжается, даже если нажата пауза. Если я правильно понимаю, видео фактически воспроизводится из буферизованных данных. Я предполагаю, что эти данные должны где-то храниться. Это кеш данных в данном случае? если нет, то что такое кэш-данные? в чем тут разница? и, наконец, как я могу получить доступ к чему бы то ни было? Я пытался увидеть, где он хранится как и как (имеется в виду, что может быть какой-то файл), и я достиг класса DefaultAllocator, который, кажется, имеет эту строку
availableAllocations[i] = new Allocation(initialAllocationBlock,allocationOffset);//is this it??
это находится в файле DefaultAllocator.java. Не уверен, что ищу в правильном месте...
Я не могу понять, что такое буфер и как он хранится. Youtube хранит файлы .exo. Я вижу папку кеша в data/data/myAppName/cache
, печатая getCacheDir()
, но, похоже, это выдает java.io.fileAndSomeRandomChars
. Буфер также удаляется при сворачивании плеера или открытии другого приложения.
Сохраняет ли ExoPlayer файлы фрагментами?
Любое понимание этого было бы очень полезно! Я застрял на этом уже несколько дней. Супер пупер ценю!