我在YoutubePlayer上遇到了一个问题,我把它放在了一个片段中,如下所示:
public class VideoFragment extends YouTubePlayerSupportFragment {
public VideoFragment() { }
public static Fragment newInstance(String url) {
VideoFragment f = new VideoFragment();
Bundle b = new Bundle();
b.putString("url", url);
f.setArguments(b);
f.init(Constants.YOUTUBE_DEV_KEY);
return f;
}
private void init(String api) {
initialize(api, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationFailure(YouTubePlayer.Provider arg0, YouTubeInitializationResult arg1) { }
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) {
if (!wasRestored) {
player.cueVideo(getArguments().getString("url"));
}
}
});
}
我从我的另一个片段中这样称呼它:
Fragment f = VideoFragment.newInstance(User.getVideoId());
getFragmentManager().beginTransaction().replace(R.id.fragment_container, f).commit();
然而,我一直得到这个错误:
YouTubeAndroidPlayerAPI:创建YouTubePlayerView时出错com.google.android.youtube.player.internal.w$a:引发异常中调用的构造函数com.google.android.youtube.api.jar客户端远程嵌入式播放器网址:com.google.android.youtube.player.internal.w.a(未知来源)网址:com.google.android.youtube.player.internal.w.a(未知来源)网址:com.google.android.youtube.player.internal.w.a(未知来源)网址:com.google.android.youtube.player.internal.ac.a(未知来源)网址:com.google.android.youtube.player.YouTubePlayerView.a(未知来源)网址:com.google.android.youtube.player.YouTubePlayerView$1.a(未知来源)网址:com.google.android.youtube.player.internal.r.g(未知来源)网址:com.google.android.youtube.player.internal.r$c.a(未知来源)网址:com.google.android.youtube.player.internal.r$b.a(未知来源)在com.google.android.youtube.player.internal.r$a.handleMessage(未知来源)。。。。
不完全是一个修复程序,但如果你的应用程序UX也支持它,你可以使用YouTubeStandalonePlayer。我在YouTubePlayerActivity和独立播放器上也遇到了同样的问题。