在我的代码中使用youtube API存在一些问题。我正在尝试在YoutubeFragmentActivity
内拨打Tab2frag.java
,这在我的情况下不起作用
要具体说明我的问题:从标签2我使用data.putString("youtube_details", youtube_url1);
传递youtube网址。这是来自OnPostExecute
内部Show_data
类的
youtube_url = jobj.opt("youtube_detail").toString();
youtube_url1=youtube_url.replace("https://www.youtube.com/watch?v=","");
YoutubeFragmentActivity
。我明白了YOU_TUBE = extras.getString("youtube_details");
以下是 YouTubeFragmentActivity
的代码 public class YouTubeFragmentActivity extends Fragment {
private FragmentActivity myContext;
private YouTubePlayer YPlayer;
private static String YOU_TUBE;
@Override
public void onAttach(Activity activity) {
if (activity instanceof FragmentActivity) {
myContext = (FragmentActivity) activity;
}
super.onAttach(activity);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_you_tube_api, container, false);
Bundle extras = getArguments();
YOU_TUBE = extras.getString("youtube_details");
System.out.println("@@@@@@@@@@@@@"+YOU_TUBE+"@@@@@@@2");
YouTubePlayerSupportFragment youTubePlayerFragment = YouTubePlayerSupportFragment.newInstance();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.youtube_fragment, youTubePlayerFragment).commit();
youTubePlayerFragment.initialize("DEVELOPER_KEY", new OnInitializedListener() {
@Override
public void onInitializationSuccess(Provider provider, YouTubePlayer youTubePlayer, boolean b) {
if (!b) {
YPlayer = youTubePlayer;
YPlayer.loadVideo(YOU_TUBE);
YPlayer.play();
}
}
@Override
public void onInitializationFailure(Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
}
});
return rootView;
}
}
在Tab2Frag
我正在使用Bundle为你正在运行的youtube播放器传递URL。但是视频没有播放。我正在尝试多次,但仍然无法解决问题。
如果有人能解决它。对我来说会很棒。
答案 0 :(得分:0)
你有没有调试过它? 有时它会在传递到某些地方时重置它。 检查软件包权限,生命周期和电话。