【发布时间】:2017-04-07 16:47:58
【问题描述】:
在我的代码中使用 youtube API 存在一些问题。我在这里尝试的是在我的Tab2frag.java 中调用YoutubeFragmentActivity,这在我的情况下不起作用。
具体说明我的问题:从选项卡 2 中,我使用 data.putString("youtube_details", youtube_url1); 传递 youtube URL。这是来自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,该播放器正在运行。但是没有播放视频。我尝试了很多次,但仍然无法解决问题。
如果有人能解决它。这对我来说很棒。
【问题讨论】:
-
请edit您的问题包括minimal reproducible example。
-
我正在编辑它