我试图在我的应用程序中实现视频。我想我可以使用YouTubePlayer API并打开我的视频。如果我打开一个正常的新意图,这是正常工作的。
但是如果我在我的childActivity中打开YouTubeVideoPlayer,它在应用程序的底部有一个菜单,它就不会真正工作。
这是我试图打开Intent的方式:
Intent video = new Intent(getParent(), MyYouTubeVideoPlayer.class);
TabGroupActivity videoActivity = (TabGroupActivity)getParent();
videoActivity.startChildActivity("Video", video);
它的工作,但然后玩家说:"发生了一个错误,而初始化YouTube播放器
有没有人知道我如何在这个ChildActivity中实现YouTubePlayer到我的应用程序?或者有没有其他更好的方式在我的应用程序中播放YouTube视频?
以下是YouTubePlayer类:
public class MyYouTubeVideoPlayer extends YouTubeFailureRecoveryActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.playerview_demo);
YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
youTubeView.initialize(DeveloperKey.DEVELOPER_KEY, this);
}
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player,
boolean wasRestored) {
if (!wasRestored) {
player.cueVideo("wKJ9KzGQq0w");
}
}
@Override
protected YouTubePlayer.Provider getYouTubePlayerProvider() {
return (YouTubePlayerView) findViewById(R.id.youtube_view);
}
}
第二个类:
public abstract class YouTubeFailureRecoveryActivity extends
YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {
private static final int RECOVERY_DIALOG_REQUEST = 1;
public void onInitializationFailure(YouTubePlayer.Provider provider,
YouTubeInitializationResult errorReason) {
if (errorReason.isUserRecoverableError()) {
errorReason.getErrorDialog(this, RECOVERY_DIALOG_REQUEST).show();
} else {
String errorMessage = String.format(
getString(R.string.error_player), errorReason.toString());
Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == RECOVERY_DIALOG_REQUEST) {
// Retry initialization if user performed a recovery action
getYouTubePlayerProvider().initialize(DeveloperKey.DEVELOPER_KEY,
this);
}
}
protected abstract YouTubePlayer.Provider getYouTubePlayerProvider();
}
据我所知,如果你在"YouTubePlayerView"上添加任何视图,youtube播放器就会自动停止。
因为它将和广告一样
顺便说一下,我做了一个使用最新youtube api的示例活动。
此源句柄定位问题&;;媒体音量问题&;;Youtube Url解析问题&;;
-
这是示例活动代码
https://gist.github.com/TheFinestArtist/5545437 -
这是git项目的示例应用
https://github.com/TheFinestArtist/SimpleYouTubePlayer -
我也做了一个示例应用程序,你可以下载
https://play.google.com/store/apps/details?id=com.thefinestartist.simpleyoutubeplayer