我正在尝试在Android应用中播放YouTube视频。我正在使用YouTubePlayer API,并且效果很好。但是问题在于,我想在库中放这个播放器,如果未安装YouTube应用程序,则没有显示电影,而且我还遇到了另一个问题,在某些旧手机上,我需要先升级YouTube应用程序。这是其他公司将导入的库,我不想依赖于YouTube应用程序的版本或用户具有YouTube应用程序。我如何优雅地退化以在应用程序中播放视频?
使用Android Player API中的YouTubeintents类以优雅地降级。这是一些示例代码来检测用户可以做什么:
if(YouTubeIntents.isYouTubeInstalled(context)) {
if(YouTubeApiServiceUtil.isYouTubeApiServiceAvailable(context) == YouTubeInitializationResult.SUCCESS) {
// start the YouTube player
context.startActivity(
YouTubeStandalonePlayer.createVideoIntent((Activity) context, "developer_key", videoId));
} else if(YouTubeIntents.canResolvePlayVideoIntent(context)) {
// Start an intent to the YouTube app
context.startActivity(
YouTubeIntents.createPlayVideoIntent(context, videoId));
}
}
// Falls through: last resort - render a webview with an iframe
如果您很好奇,我们在2013年的Google I/O中浏览此代码。从6:17大约开始。