Функция "Следующая дорожка" работает на YouTube-API - PullRequest
0 голосов
/ 11 ноября 2018

Я пытался реализовать что-то вроде «генератора списков воспроизведения» в Java (похожая тема: Youtube API: получить список автозапуска трека ). Просто инструмент, который на каком-то этапе ввода осуществляет связь с API Youtube.com v3, генерируя последовательность видео определенной длины.

Работает следующим образом:

  1. Введена фаза поиска.
  2. Выполняется поисковый запрос путем вызова:

    YouTube.Search.List req = youtube.search().list("snippet");
    req.setType("video");
    req.setMaxResults(1l);
    req.setQ(phase);
    
  3. Из ответа извлекается первое видео и его videoID.

  4. По запросу запрашивается видео "Up next":

    YouTube.Search.List req = youtube.search().list("snippet");
    req.setType("video");
    req.setRelatedToVideoId(id);
    
  5. Шаги 3 и 4 повторяются указанное время (например, 10x).

  6. Результатом является список собранных видео.

Когда я запускаю это с вводом «прогрессивный домашний микс», я получаю следующую последовательность видео (строки содержат videoID, заголовок и длину):

2SVQ1LYElnY, ♫ Best Progressive House Mix 2018 Vol. #5 ♫, 1:54:32
KvRVky0r7YM, Progressive House · Relaxing Focus Music · 24/7 Live Radio, 0:00
VnzIsEgSrCE, Beautiful Piano Music LIVE 24/7: Instrumental Music for Relaxation, Study, Stress Relief, 0:00
3NycM9lYdRI, Relaxing Piano Music: Romantic Music, Beautiful Relaxing Music, Sleep Music, Stress Relief ★122, 3:36:39
y7e-GC6oGhg, Beautiful Piano Music 24/7: Study Music, Relaxing Music, Sleep Music, Meditation Music, 0:00
hlWiI4xVXKY, Beautiful Relaxing Music - Peaceful Piano Music & Guitar Music by Soothing Relaxation, 3:03:39
y7e-GC6oGhg, Beautiful Piano Music 24/7: Study Music, Relaxing Music, Sleep Music, Meditation Music, 0:00
hlWiI4xVXKY, Beautiful Relaxing Music - Peaceful Piano Music & Guitar Music by Soothing Relaxation, 3:03:39
y7e-GC6oGhg, Beautiful Piano Music 24/7: Study Music, Relaxing Music, Sleep Music, Meditation Music, 0:00
hlWiI4xVXKY, Beautiful Relaxing Music - Peaceful Piano Music & Guitar Music by Soothing Relaxation, 3:03:39

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

ИМХО, это вызвано тем, что Youtube думает "О, так ты хочешь это видео? Хорошо, вот и ты". затем «О, тебе не понравилось, потому что сейчас меньше секунды, а ты хочешь еще одного? Хорошо, вот оно!» и затем: «О, тебе это тоже не нравится? Что ж, похоже, я не могу тебя удовлетворить, почему я даже пытаюсь что-то сделать? Разве ты не хотел бы просто попробовать предыдущее видео снова, не так ли? Может быть, ты передумал. " который затем зацикливается.

Я помню, это однажды случилось со мной, когда я играл на сайте youtube, так что для меня это имеет смысл. Но я не ожидал, что это произойдет всегда .

Мой вопрос прост - есть ли у вас какое-либо объяснение такого поведения? Я делаю что-то не так? Есть ли способ, как этого избежать и заставить функцию «Вперед» работать должным образом?

Спасибо, Martin

EDIT

Я добавил некоторую паузу между запросами (даже минуты), но это не помогло.

...