我正在尝试使用Android Youtube API播放Youtube视频。我使用YoutubePlayerFragment并将其添加到视图容器中。当视图容器可见时,它很有效。然后我尝试使视图容器不可见。它停止工作并抛出错误“YouTube视频播放停止,因为播放器的视图不可见”。我想知道无论如何我可以播放隐藏视频的视频吗?
答案 0 :(得分:1)
这是不可能的,即使你尝试做一些技巧。
这是因为SDK会监控当前Window
的所有视图树,因此可以查看YouTube视频容器上是否放置了某些内容。
答案 1 :(得分:0)
我找到了解决方法。我们可以为YoutubePlayerFragment设置视图容器的Alpha(0.01f)。通过这种方式,Youtube API被欺骗以相信该视图仍然是可见的。
答案 2 :(得分:0)
Samle my problem,但我用这段代码解决了这个问题。
我初始化了2个变量:
public class VideoPlay extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {
YouTubePlayerView youTubePlayerView ;
YouTubePlayer _YouTubePlayer;
此功能会更改您的VIDEO_ID
public void ChangeVIDEO_ID(YouTubePlayer player, String keyID){
player.cueVideo(keyID);
}
我在ListView
中点击了一个LinearLayout
,当我点击ListView
中的这样的内容时:
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ChangeVIDEO_ID(_YouTubePlayer, mang.get(position).key);
}
});
我的onInitializationSuccess()
已更改如下:
public void onInitializationSuccess(Provider provider, YouTubePlayer player, boolean wasRestored) {
_YouTubePlayer = player;
if (!wasRestored) {
Bundle bu = getIntent().getExtras();
if (bu != null) {
String keyID = bu.getString("key");
_YouTubePlayer.cueVideo(keyID);
} else {
_YouTubePlayer.cueVideo(VIDEO_ID);
}
}
} }