Ошибка инициализации YouTubePlayerView

Я использовал YouTubePlayerView в своем проекте. Но при воспроизведении видео возникла проблема.

И тестировал на некоторых устройствах,

  1. Moto lollipop (api 22) -> Показывает "к сожалению, Youtube остановился"

  2. Проведите по экрану Marshmallow (api 23) -> It продолжает загружаться и отобразите текст Ad слева внизу. Но перед видео нет рекламы. И нет ошибок или исключений. Отображается предупреждение в виде, ,

W/System: ClassLoader referenced unknown path: /system/app/YouTube/lib/arm64

Я искал в ТАК. Решения в ClassLoader ссылается на неизвестный путь: / data / app / у меня не работают. И нет решения проблемы «видео продолжает загружаться».

Я пробовал решения всех связанных сообщений, но не подходил для моего случая.

Я использовал Recyclerview, и у этого элемента есть Youtubeplayerview,

xml

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout
    android:background = "?android:solidColor"
    android:id = "@+id/newsLayout"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    android:orientation = "vertical"
    xmlns:android = "http://schemas.android.com/apk/res/android">
    <com.google.android.youtube.player.YouTubePlayerView
        android:layout_width = "match_parent"
        android:layout_height = "0dp"
        android:layout_weight = "1"
        android:id = "@+id/video"
        android:background = "#000"
        />

    <LinearLayout
        android:layout_width = "match_parent"
        android:layout_height = "0dp"
        android:layout_weight = "1.5"
        android:orientation = "vertical"
        android:padding = "4dp">
             <!-- other views -->
    </LinearLayout>

</LinearLayout>

Код Java,

holder.video.initialize(MyDa.YoutubeApi, new YouTubePlayer.OnInitializedListener() {
                @Override
                public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                    youTubePlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.MINIMAL);
                    youTubePlayer.loadVideo(extractYTId(nhBean.gtURL()));
                    youTubePlayer.play();
                    videoplayer=youTubePlayer;
                }

                @Override
                public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
                    ((Activity)context).runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(context,"can't play video",Toast.LENGTH_SHORT).show();
                        }
                    });
                }
            });

Может кто-нибудь мне помочь!!!

покажи свой код и xml

Developer Hitesh 03.05.2018 12:57

@DeveloperHitesh, пожалуйста, проверьте отредактированный пост

Jyoti JK 03.05.2018 13:19

Вы проверили свой экстрактYTid получает правильный идентификатор

Developer Hitesh 03.05.2018 13:40

Да, проблема не в идентификаторе

Jyoti JK 03.05.2018 13:41

проверьте это stackoverflow.com/a/20363160/9674630

Developer Hitesh 03.05.2018 13:46

Вы не установили свои ограничения API?

Developer Hitesh 03.05.2018 13:57

@DeveloperHitesh Я не устанавливал никаких ограничений

Jyoti JK 04.05.2018 05:54

проверьте это evenidontknow.com/Working-YouTube-api-android-part2.html

sameer tzar 16.05.2018 21:21

Пожалуйста, опубликуйте всю трассировку стека

Raghav Satyadev 18.05.2018 05:59

У вас возникает эта проблема только на вышеупомянутых устройствах или на всех

Abbas 19.05.2018 14:31
7
10
658
1

Ответы 1

Попробуйте, если это поможет

    videoplayer=youTubePlayer;
    videoplayer.setPlayerStyle(YouTubePlayer.PlayerStyle.MINIMAL)           
    videoplayer.loadVideo(extractYTId(nhBean.gtURL()));
    videoplayer.play();

Но в чем разница?

Jyoti JK 03.05.2018 13:50

Я использовал такой вид плеера YouTube, поэтому предлагаю

Developer Hitesh 03.05.2018 13:52

Другие вопросы по теме