7

YouTubePlayerView在我的项目中使用过。但是播放视频时出现问题。

我在一些设备上进行了测试,

  1. Moto lollipop (api 22) --> 显示“不幸的是 Youtube 已停止”

  2. Swipe Marshmallow (api 23) --> 它继续Ad在左侧底部加载和显示文本。但是该视频之前没有广告。并且没有错误或异常,它显示警告为,,

W/System:ClassLoader 引用了未知路径:/system/app/YouTube/lib/arm64

我在SO中搜索。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();
                        }
                    });
                }
            });

谁能帮我!!!

4

1 回答 1

2

试试这样如果这有帮助

    videoplayer=youTubePlayer;
    videoplayer.setPlayerStyle(YouTubePlayer.PlayerStyle.MINIMAL)           
    videoplayer.loadVideo(extractYTId(nhBean.gtURL()));
    videoplayer.play();
于 2018-05-03T11:49:36.650 回答