首页 > 解决方案 > 如何在我的 Android 应用中仅播放来自 youtube 频道的直播视频?

问题描述

我正在制作一个应用程序,我需要从我的 youtube 频道播放当前的实时视频。在我使用带有 iframe 的 webview 和这段代码之前:

String frameVideo = "<html><body>Youtube video .. " +
            "<br> <iframe width=\"480\" height=\"290\" " +
            "src=\"https://www.youtube.com/embed/live_stream?channel=MY_CHANNEL_ID\" " +
            "frameborder=\"0\" allowfullscreen=\"true\"></iframe></body></html>";

    webView = (WebView) findViewById(R.id.webView);
    webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return false;
        }
    });
    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webView.loadData(frameVideo, "text/html", "utf-8");

它工作得很好。

现在我已经开始使用 Youtube api。它的效果更好,它可以播放简单的视频,但我不知道如何获得当前的直播?

вот мой код Youtube api:

youTubePlayerView.initialize(getString(R.string.youtube_api_key),this);

}

@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {

    if (!b)
    {
        youTubePlayer.cueVideo("shN7zv0Ffuw");  //https://www.youtube.com/watch?v=shN7zv0Ffuw
    }
}

@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == 1)
    {
        getYoutubePlayerProvider().initialize(getString(R.string.youtube_api_key),this);
    }
}

private YouTubePlayer.Provider getYoutubePlayerProvider() {
    return youTubePlayerView;
}

}

如何加载此网址:"https://www.youtube.com/embed/live_stream?channel=MY_CHANNEL_ID\"使用 youtube 播放器?

标签: androidyoutube-api

解决方案


推荐阅读