Может ли Exoplayer Stream mp3s без загрузки полного файла? - PullRequest
0 голосов
/ 30 октября 2018

Выпуск

Если mp3-файл сохранен в облаке, например: Firebase Storage , может ли файл передаваться с помощью Exoplayer на Android без необходимости загрузки файла полного размера? Если mp3 может быть передан непосредственно из облачного хранилища примерно, какой процент памяти файла используется для передачи потока, поскольку сам файл не загружается?

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

Возможное решение

Согласно этому сообщению Medium, Загрузка потоков , похоже, DataSource может обрабатывать размещенные mp3-файлы без загрузки файла. Тем не менее, я не уверен, так что если кто-то здесь может подтвердить, что это было бы удивительно.

1 Ответ

0 голосов
/ 01 ноября 2018

Спасибо Оливеру Вудману из команды ExoPlayer за решение этого вопроса на Github !

Если mp3-файл сохранен в облаке, например: Firebase Storage / Google Cloud Storage, может ли файл передаваться из Exoplayer без необходимости загружать полный размер файла?

Да. Это именно то, что происходит по умолчанию, когда вы используете ExoPlayer для воспроизведения потока.

Если mp3 можно передавать напрямую из облачного хранилища, то какой процент памяти файла используется для передачи потока, поскольку сам файл не загружается?

Вы можете настроить это, создав свой собственный DefaultLoadControl, который вы можете передать в ExoPlayerFactory.newSimpleInstance при сборке проигрывателя. Вы также можете реализовать свой собственный LoadControl с нуля, если вам нужно больше контроля.

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

...