我在项目中使用了YouTubePlayerView
。但是播放视频时出现问题。
我在某些设备上对其进行了测试,
-
Moto 棒棒糖 (api 22( --> 显示"不幸的是 Youtube 已经停止">
-
滑动棉花糖 (api 23( --> 它不断加载和显示文本
Ad
左侧底部。但是视频之前没有广告。并且没有错误或异常,它显示警告为, ,
W/系统:类加载器引用的未知路径:/system/app/YouTube/lib/arm64
我在SO中搜索。类加载器中的解决方案引用了未知路径:/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();
}
});
}
});
谁能帮我!!
如果这有帮助,请尝试这样做
videoplayer=youTubePlayer;
videoplayer.setPlayerStyle(YouTubePlayer.PlayerStyle.MINIMAL)
videoplayer.loadVideo(extractYTId(nhBean.gtURL()));
videoplayer.play();