我对 Android Dev、Java 和一般来说都很陌生 - 所以请耐心等待。我一直在试验GitHub PierfrancescoSoffritti
android-youtube-player这作为一个可定制的 Android 开源 YouTube 播放器非常有效,但有一个例外。
主要代码使用 avideoID
来玩:
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 Livestream,videoId
如果流被重新创建,它可以改变。
如果您要嵌入网页,YouTube 提供了一种解决方法,即不使用. videoID
,而是使用channelID
. 这样,它将始终嵌入正确的当前正在播放的直播,而无需使用VideoID
.
https://www.youtube.com/embed/live_stream?channel=ChannelID
我知道有一个 YouTube API 可以通过以下方式以某种方式返回当前正在播放的videoID
直播channelID
:
https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={CHANNEL_ID}&eventType=live&type=video&key={YOUR_API_KEY}
但这是我卡住的地方。videoId
知道如何从 a获取更新的直播channelId
,然后videoId = "xxxx";
在PierfrancescoSoffritti
android-youtube-player 中将其用作字符串吗?
public void onReady(@NonNull YouTubePlayer youTubePlayer) {
String videoId = "xxxx";
youTubePlayer.loadVideo(videoId, 0);