【发布时间】:2021-11-21 18:15:29
【问题描述】:
我对 Android Dev、Java 和一般来说都是新手 - 请耐心等待。我一直在尝试GitHub PierfrancescoSoffritti android-youtube-player,它作为一个可定制的 Android 开源 YouTube 播放器非常有效,但有一个例外。
主要代码使用videoID来玩:
YouTubePlayerView youTubePlayerView = findViewById(R.id.youtube_player_view);
getLifecycle().addObserver(youTubePlayerView);
youTubePlayerView.addYouTubePlayerListener(new AbstractYouTubePlayerListener() {
@Override
public void onReady(@NonNull YouTubePlayer youTubePlayer) {
String videoId = "xxxx";
youTubePlayer.loadVideo(videoId, 0);
}
});
问题是,我想将它用于 YouTube 直播,如果重新创建流,videoId 可以更改。
如果您要嵌入网页,YouTube 提供了一种解决方法,即不使用videoID,而是使用channelID。这样,它将始终嵌入正确的当前正在播放的直播,而无需使用 VideoID。
https://www.youtube.com/embed/live_stream?channel=ChannelID
我知道有一个 YouTube API 可以通过以下方式从 channelID 返回当前正在播放的直播 videoID:
https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={CHANNEL_ID}&eventType=live&type=video&key={YOUR_API_KEY}
但这就是我卡住的地方。知道如何从channelId 获取更新的直播videoId,然后在PierfrancescoSoffritti android-youtube-player 中将其用作字符串videoId = "xxxx";?
public void onReady(@NonNull YouTubePlayer youTubePlayer) {
String videoId = "xxxx";
youTubePlayer.loadVideo(videoId, 0);
【问题讨论】:
标签: android youtube youtube-api youtubeplayer