Встроить прямую трансляцию YouTube в приложение для Android

Я пытаюсь встроить прямую трансляцию в приложение для Android. Этот код отлично работает для других видео, но когда я помещаю URL-код канала прямой трансляции, он не может загрузиться. Он просто продолжает загружаться. Предложите мне что-нибудь или есть ли какой-либо другой API, который мне нужно использовать для встраивания прямой трансляции.

onInitializedListener = new YouTubePlayer.OnInitializedListener() {
    @Override
    public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
        youTubePlayer.("5kbU-C0FxqA");
    }

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

    }
};

person Prashant Luhar    schedule 25.08.2018    source источник
comment
Согласно этому ответу, ваш код должен работать нормально. Вы дважды проверили, что используемый вами идентификатор относится к действительному потоку? Вы проверили, что поток не является частным или что-то в этом роде?   -  person Arthur Attout    schedule 25.08.2018
comment
Да, я обновил идентификатор, и поток также является общедоступным потоком.   -  person Prashant Luhar    schedule 26.08.2018


Ответы (2)


Идентификатор первого видео устарел, поэтому вам нужно заменить его другим и проверить возраст.

Также я думаю, что ваш код должен быть таким, как показано ниже

при создании

YouTubePlayerView youTubePlayerView = findViewById(R.id.youtube_player);
youTubePlayerView.initialize(getString(R.string.google_developer_api_key), this);

Прослушиватель OnInitialized

@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
    youTubePlayer.loadVideo(""); // your video id 
    youTubePlayer.play();
}
person 5ec20ab0    schedule 25.08.2018

Если вы не можете заставить его работать с YouTubePlayer API, вы можете рассмотреть возможность использования этого альтернативного проигрывателя: android -youtube-плеер.

Это все, что вам нужно сделать, чтобы воспроизвести живое видео:

Добавьте плеер в свой XML:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <com.pierfrancescosoffritti.androidyoutubeplayer.player.YouTubePlayerView
        android:id="@+id/youtube_player_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

Инициализируйте плеер и воспроизведите видео:

YouTubePlayerView youtubePlayerView = findViewById(R.id.youtube_player_view);
getLifecycle().addObserver(youtubePlayerView);
youtubePlayerView.getPlayerUIController().enableLiveVideoUI(true);

youtubePlayerView.initialize(new YouTubePlayerInitListener() {
    @Override
    public void onInitSuccess(@NonNull final YouTubePlayer initializedYouTubePlayer) {    
        initializedYouTubePlayer.addListener(new AbstractYouTubePlayerListener() {
            @Override
            public void onReady() {
                String videoId = "2ccaHpy5Ewo";
                initializedYouTubePlayer.loadVideo(videoId, 0);
            }
        });        
    }
}, true);

Вы можете увидеть рабочий пример в примере приложения.

person Pierfrancesco Soffritti    schedule 26.08.2018