我正在使用YouTubePlayerSupportFragment
并在一秒钟后停止播放。
如果我移动滑块,它会再次开始显示电影图像和声音,但在不到一秒后再次停止。它几乎看起来好像电影不是流媒体和缓冲,但视图显示电影控件和图像。
我使用默认视频模式,这是我的片段类:
public class PlayerYouTubeFrag extends YouTubePlayerSupportFragment {
String developerKey = "dev_key";
private YouTubePlayer activePlayer;
public static PlayerYouTubeFrag newInstance(String url) {
PlayerYouTubeFrag playerYouTubeFrag = new PlayerYouTubeFrag();
Bundle bundle = new Bundle();
bundle.putString("url", url);
playerYouTubeFrag.setArguments(bundle);
playerYouTubeFrag.init();
return playerYouTubeFrag;
}
private void init() {
initialize(developerKey, new OnInitializedListener() {
@Override
public void onInitializationFailure(Provider arg0, YouTubeInitializationResult arg1) {
System.out.println("PlyerYouTubeFrag initialization failure");
}
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) {
activePlayer = player;
if (getArguments().getString("url") != null) {
if (wasRestored) {
activePlayer.play();
} else {
activePlayer.loadVideo(getArguments().getString("url"), 0);
}
}
}
});
}
}
我正在使用viewpager获取其他片段,这是我在getItem()调用中的主要活动部分,我在其中创建片段并将其返回:
if(ft3 == null) ft3 = PlayerYouTubeFrag.newInstance(video_id);
我的主要活动我使用这个xml
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
我正在使用youtube api的1.2.2
我在Android的5.1上运行并尝试过最新的YouTube设备。我已经读过这可能会发生在其他人身上,并且指出是一个API问题,但我不确定。 我愿意尝试的任何想法。
答案 0 :(得分:4)
我遇到了同样的问题,几个小时后我终于找到了解决方案。问题是视图可能不在您要放置此 youtubePlayerFragment 的布局的顶部。
这就是视频在1秒后被切断的原因。要解决此问题,您需要确保要添加 youtubeFragment 的位置是布局的顶部。
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.96"
android:paddingTop="5dp"
android:id="@+id/youtubeFragment">
</FrameLayout>
我真的不明白为什么你不能在你想要的地方调用 youtubePlayerFragment 。也许是为了避免一些程序员隐藏视频的某些部分(例如人工显示声音而没有根据使用条件不合法的视图)......
答案 1 :(得分:-3)
由于视图与youtubePlayerFragment
重叠,因此您无法使用youtubePlayerView
,Youtube文档建议您使用其他方法覆盖视图。
请按照本指南中ActionBarDemoActivity