Youtube Live потоковое видео на мобильное приложение для Android - PullRequest
0 голосов
/ 15 сентября 2018

Я пытаюсь в прямом эфире из YouTube приложения для Android. Но всякий раз, когда я останавливаю свой прямой эфир, URL-адрес потока меняется, и мне нужно постоянно менять видеокод в моем Android-приложении и отправлять обновление. Есть ли другой способ транслировать мой контент в приложение для Android, кроме YouTube. Вот код для моего проигрывателя YouTube в приложении Android:

youTubePlayerView = (YouTubePlayerView)findViewById(R.id.youtube_player_view);
    onInitializedListener = new YouTubePlayer.OnInitializedListener() {
        @Override
        public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
            youTubePlayer.play();
            youTubePlayer.setFullscreen(true);
            youTubePlayer.loadVideo("video-code");

        }

Каждый раз, когда я запускаю новый поток, мне нужно менять видеокод на новый код в приложении. Есть ли способ автоматически получить новый видеокод или есть ли другой способ, как я могу транслировать контент на мой мобильный телефон? Я использую Open Broadcaster для потоковой передачи на YouTube.

1 Ответ

0 голосов
/ 24 сентября 2018

Поскольку никто не ответил на мой вопрос, я отвечу на него самостоятельно.

Вместо использования YouTube API мы можем использовать webview.Нет, вместо того, чтобы использовать видео-код для потоковой передачи на YouTube, мы можем использовать channelID в ссылке на YouTube, чтобы постоянно вставлять прямой эфир в webview.

Вот код для этого:

public class WebViewPlayer extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_web_view_player);

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

    WebView 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");
}

}

...