我需要开发包含多个屏幕的应用程序,每个屏幕都包含视频和图片或图片。每个时间间隔在此屏幕之间摇摆
提示:用户不应通过停止视频或其他方式与视频进行交互
我尝试使用带有YouTube播放器API的视图分页程序,但每个视频都会工作几秒钟,然后停止并抛出此警告。
“由于播放器上存在未经授权的覆盖,YouTube视频播放已停止。YouTubePlayerView被com.google.android.youtube.player遮挡”
附上我的代码截图。
我搜索了很多关于这个问题的信息,但我没有得到我的代码的附加屏幕上的解决方案
我尝试在没有视图分页的情况下,使用片段和使用timer ..but在片段之间滑动,也得到了同样的问题
我也尝试使用web view,但无法处理前面提到的提示。
有没有解决viewPager问题的办法,或者有别的想法来构建这个应用程序?
这是我的主要活动
mPager.setAdapter(mPagerAdapter);
mPager.setOffscreenPageLimit(1);
pagerchangeListener = new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
mPagerAdapter.onPageChanged(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
};
mPager.addOnPageChangeListener(pagerchangeListener);viewPager适配器方法:
@Override
public Fragment getItem(int position) {
if (data.get(position).getVideo() == null) {
ImageFragment imageFragment = new ImageFragment();
Bundle args = new Bundle();
args.putString("IMAGE_URL", data.get(position).getImage());
imageFragment.setArguments(args);
return imageFragment;
} else {
Log.i("tag3", "getItem video" + String.valueOf(position));
VideoFragment videoFragment =
VideoFragment.newInstance(data.get(position).getVideo(), data.get(position).getImage());
listenerMap.put(position, videoFragment.getmInitializeListener());
return videoFragment;
}
}视频分片的构造函数:
public VideoFragment() {
super();
setRetainInstance(true);
mInitializeListener = new InitializeListener() {
@Override
public void startVideo() {
if (getUserVisibleHint())
initYoutube();
}
@Override
public void stopVideo() {
if (youTubePlayer1 != null)
youTubePlayer1.release();
}
};
}视频片段的xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.newConcept.education.galleryApp.fragment.VideoFragment">
<FrameLayout
android:id="@+id/VideoFragment_youtube_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top" />
<ImageView
android:id="@+id/VideoFragment_imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:scaleType="fitXY"/>
</LinearLayout>发布于 2018-09-15 06:10:06
当你“覆盖”你的YoutubeFragment和其他视图,比如你的图像视图时,就会出现这个问题。一种可行的解决方案是,如果您可以在视频播放时隐藏图像视图,并且不再看到此警告。只在视频开始时放入:
videoFragmentImageView.setVisibility(View.GONE) 另外,如果你在播放器前面没有其他视图,比如FloatingActionButton或其他,请隐藏此视图。告诉我们这是否有效
https://stackoverflow.com/questions/52337567
复制相似问题