java - Android YoutubePlayerView 视频不可见
问题描述
我正在使用 PierfrancescoSoffritti YouTubePlayerView 但视频在回收站视图中不可见,仅显示声音和缩略图。需要一些帮助。
这是 youtubeplayer xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent">
<com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/video_player" app:autoPlay="false" app:videoId="S0Q4gqBUs7c" app:showFullScreenButton="true"
app:useWebUi="true" app:enableLiveVideoUi="true" app:enableAutomaticInitialization="true" />
</LinearLayout>
youtubeplayerview 初始化的适配器类
package aritra.code.chatters.Adapters;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.YouTubePlayer;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.AbstractYouTubePlayerListener;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.YouTubePlayerListener;
import org.jetbrains.annotations.NotNull;
import java.util.List;
import aritra.code.chatters.MainActivity;
import aritra.code.chatters.Models.DummyPOJO;
import aritra.code.chatters.R;
import aritra.code.chatters.databinding.SampleVideoBinding;
public class VideoAdapter extends RecyclerView.Adapter<VideoAdapter.VideoViewHolder> {
Context context;
List<DummyPOJO> list;
public VideoAdapter(Context context, List<DummyPOJO> list) {
this.context = context;
this.list = list;
}
@NonNull
@Override
public VideoViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.sample_video, parent, false);
return new VideoViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull VideoViewHolder holder, int position) {
DummyPOJO data = list.get(position);
((MainActivity) context).addLifeCycleCallBack(holder.binding.videoPlayer);
holder.binding.videoPlayer.addYouTubePlayerListener(new AbstractYouTubePlayerListener() {
@Override
public void onReady(@NotNull YouTubePlayer youTubePlayer) {
super.onReady(youTubePlayer);
String videoId = data.getVideoId();
youTubePlayer.cueVideo(videoId, 0);
youTubePlayer.play();
}
});
}
@Override
public int getItemCount() {
return list.size();
}
public class VideoViewHolder extends RecyclerView.ViewHolder {
SampleVideoBinding binding;
public VideoViewHolder(@NonNull View itemView) {
super(itemView);
binding = SampleVideoBinding.bind(itemView);
}
}
}
一切正常,除了视频的可见性
解决方案
该问题似乎源于在清单中添加以下内容。
android:hardwareAccelerated="false"
一旦删除,一切正常。
推荐阅读
- postgresql - 无法使用 JDBC 驱动程序连接到远程 PostgresSQL 服务器
- javascript - 如何在 javascript 中执行命令将文件上传到应用程序?
- android - overridePendingTransition 在 API 23 中使屏幕变黑,但在 API 29 中运行良好
- reactjs - 如何优雅地处理由 dangerouslySetInnerHTML 引起的 react-dom 错误?
- indexing - 在 APL 中使用嵌套向量进行索引
- python - 在python的另一个模块中访问一个模块的函数的局部变量
- javascript - 如何更新会话存储中项目的单个值
- android - 错误:Android Gradle 插件仅支持 Kotlin Gradle 插件版本 1.3.10 及更高版本
- python - 如何在熊猫行中找到一个字符串,它应该是一个浮点数?
- html - flex 容器无法正常下车