Я использовал YouTubePlayerView
в Моем проекте. Но при воспроизведении видео возникает проблема.
И я проверил это на некоторых устройствах,
Moto lollipop (api 22) -> Показывает "к сожалению Youtube остановился"
Swipe Marshmallow (api 23) -> It продолжает загружать и отображать текст Ad
в левом нижнем углу. Но у видео нет рекламы перед ним. И нет ошибок или исключений, оно показывает предупреждение как,
W / System: ClassLoader ссылается на неизвестный путь:
/ Система / приложение / YouTube / Библиотека / 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();
}
});
}
});
Может кто-нибудь мне помочь !!!