Android Exoplayer - Как показать доступные качества (треки) при игре в автономном режиме

Я работаю над приложением, в котором пользователи могут транслировать или скачивать видео. Я реализовал то же самое с помощью ExoPlayer 2.9.6. В настоящее время при воспроизведении загруженного контента, когда я пытаюсь переключить качество, отображаются только загруженные треки. Я знаю его поведение по умолчанию. Мое требование - показать все другие доступные качества (что недоступно в автономном режиме), и пользователь должен иметь возможность переключиться на другое качество, если сеть доступна.

Есть ли способ добиться этого?


person Ruthwik Warrier    schedule 25.04.2019    source источник


Ответы (1)


Я думаю, вы имеете в виду, что вы хотите, чтобы ExoPlayer использовал два отдельных источника контента - один локальный файл, а другой - онлайн-потоки.

Я предполагаю, что вы бы загрузили трек более низкого качества, чтобы уменьшить размер загрузки и переключиться на более высокое качество, если у вас есть доступная пропускная способность? Скачанный файл нужно будет сегментировать в потоковом формате HLS или DASH, как я полагаю, для самого простого подхода.

Я не верю, что это доступно в стандартной комплектации с ExoPlayer (AFAIK), но вы можете реализовать его с помощью настраиваемого TrackSelector:

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

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

person Mick    schedule 25.04.2019