Работя с приложение, което трябва да възпроизвежда видеоклипове в YouTube с помощта на ExoPlayer2. За да извлека DASH URL адреса на видеоклипа, използвам тази библиотека. Проблемът с този подход е, че библиотеката връща различни URL адреси в зависимост от това каква резолюция (itag) искате. Например, ако искате 720p вариант на видео, ще направите нещо като:
String youtubeLink = "http://youtube.com/watch?v=xxxx";
new YouTubeExtractor(this) {
@Override
public void onExtractionComplete(SparseArray<YtFile> ytFiles, VideoMeta vMeta) {
if (ytFiles != null) {
int itag = 22; //22 == 720p
String downloadUrl = ytFiles.get(itag).getUrl();
}
}
}.extract(youtubeLink, true, true);
Мога да направя този URL като MediaSource и да го задам с помощта на setMediaSource
и той работи, но само с една резолюция (720p в този случай). Искам да направя нещо като снимката, приложена към отговора на този въпрос.
Опитах да прочета документите, опитах Google-Fu, но всичко беше напразно. Някакви идеи как мога да създам различни песни с различни разделителни способности за едно и също видео? Опитах да сложа MediaItem
s и да ги настроя на плейъра, но вместо това той създава плейлист, а не песни. Някаква помощ?
Съжалявам за липсата на код, предишният разработчик е направил пълна бъркотия в организирането на кода и не знам какво е къде. Ако мога просто да получа груб код, това би било адски полезно.
Благодаря