问题描述
我正在以编程方式创建YoutubePlayerView并将其添加到以编程方式生成的viewflipper。 我的问题是,当生成带有Viewflipper的活动时,YoutubePlayerView会播放加载的视频一秒钟,然后停止。即使它不是viewflipper中的第一个视图,它也会这样做。下面是相关的代码(所有代码都放在一个onCreate方法中):
mOnInitializedListener = new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider,final YouTubePlayer youTubePlayer,boolean b) {
db.collection("Events").document(eventId).get().addOnCompleteListener(
new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document != null) {
final String youtube_link = document.getString("youtube_URL");
if (!TextUtils.isEmpty(youtube_link)) {
String load = getVideoIdFromYoutubeUrl(
youtube_link
);
youTubePlayer.loadVideo(load);
}
}
} else {
Toast.makeText(getApplicationContext(),"cannot load video! Try again later!",Toast.LENGTH_SHORT).show();
}
}
}
);
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider,YouTubeInitializationResult youTubeInitializationResult) {
Toast.makeText(getApplicationContext(),Toast.LENGTH_SHORT).show();
}
};
加载到viewflipper上:
db.collection("Events").document(eventId).get().addOnCompleteListener(
new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document != null) {
String youtube_link = document.getString("youtube_URL");
if (!TextUtils.isEmpty(youtube_link)) {
viewFlipper.addView(mYoutubePlayerView);
// viewFlipper.addView(frag);
mYoutubePlayerView.initialize(YoutubeConfig.getApiKey(),mOnInitializedListener);
}
}
} else {
Toast.makeText(getApplicationContext(),Toast.LENGTH_SHORT).show();
}
}
}
);
我在docs中看到cueVideo()
在不播放视频的情况下加载了视频,但这并不能解决我的问题。所做的一切就是,当我确实切换到Viewflipper中的YoutubePlayerView时,它并没有自动开始播放。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)