Я использую YouTube Live Streaming API в Java. и у меня есть проблема, которая иногда возникает.
Я написал класс, который извлекает существующий прямой эфир и создает прямую трансляцию, проверяет, что этот поток отправляет данные, затем связывает их вместе, затем я делаю2 запроса на переход.
сначала я делаю переход к запросу Тестирование (предварительный просмотр в реальном времени), затем я делаю переход к запросу Live, в руководстве по https://developers.google.com/youtube/v3/live/life-of-a-broadcast раздел 4.1 говорится, что я должен опрашивать API до трансляциистатус жизненного цикла меняется на живой
вот что я написал: '' '
YouTube.LiveBroadcasts.Transition requestLive = CreateYouTube.getYoutube().liveBroadcasts()
.transition("live", returnedBroadcast.getId(), "snippet,status");
returnedBroadcast = requestLive.execute();
//poll while live starting (wait while starting live)
while(returnedBroadcast.getStatus().getLifeCycleStatus().equals("liveStarting")) {
returnedBroadcast = getBroadcastById(returnedBroadcast.getId());
System.out.println("polling liveStarting "+args[0]);
Thread.sleep(1000);
}
' '' иногда это работает гладко, но в другое время статус не меняется, чтоозначает, что трансляция не переходит в прямую трансляцию, и я застреваю в бесконечном цикле. конечно, я могу выйти из цикла вручную, но я все еще не понимаю, почему запрос не обработан, и могу ли я это исправить.