在我的Android应用中的某个地方,我想播放YouTube视频, 在我的活动中,在一个小视图中。 我正在尝试使用 VideoView 执行此操作,但到目前为止没有运气..
我写了一个简单的活动,到目前为止这是我的代码:
public class MainView extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
VideoView videoView = (VideoView) findViewById(R.id.VideoView);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
/*working good but IT'S NOT youtube*/ //Uri video = Uri.parse("http://commonsware.com/misc/test2.3gp");
/*NOT WORKING*/ //Uri video = Uri.parse("http://www.youtube.com/watch?v=hLQl3WQQoQ0&ob=av2e");
/*NOT WORKING (RTSP)*/ //Uri video = U-ri.parse("http://m.youtube.com/watch?gl=IL&hl=en&client=mv-google&feature=grec_mobile&v=6WHRxXY67UA");
/*NOT WORKING (RTSP)*/Uri video = Uri.parse("http://m.youtube.com/watch?gl=IL&hl=en&client=mv-google&v=wWub_aXPCVg");
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();
}
}
有可能吗? 有没有其他SDK组件可以做到这一点? 任何想法?
谢谢, Amitos80
答案 0 :(得分:0)
如果您知道要查看的视频,可以使用其中的网址创建一个Intent并使用它来启动Youtube应用。您可以查看此SO Post了解更多详情。
答案 1 :(得分:0)
谷歌将在未来几个月内发布针对YouTube的Android组件,希望到2012年底。
我在此期间正在做的是使用带有loadData()的WebView,并按照YoUTube API页面上的说明传入IFrame。 Iframe非常有限(大多数参数甚至都不起作用,比如controls = 0),所以如果你需要更多的灵活性,比如控制视图,那么使用JavaScript API,然后将JavaScript嵌入你传递给loadData的HTMl中。
我尝试过媒体控制器并且无法使其工作,即使YouTube在自己的应用中使用它。
另一件我尝试过的事情。是使用谷歌搜索apis。您可以指定一个YouTube视频,它会为您提供缩略图,视频等的URL。这样您就可以访问原始文件(www.youtube.com/...../..../myfile.3gp而不是呼叫网页。然后,这些可以在MediaController中加载。
答案 2 :(得分:0)
您只需在videoview中使用youtube rtsp链接:
String myurl="rtsp://v4.cache4.c.youtube.com/CjYLENy73wIaLQk_ezfHQ9mvqRMYDSANFEIJbXYtZ29vZ2xlSARSBXdhdGNoYN-__7O28NSPUAw=/0/0/0/video.3gp";
Uri video = Uri.parse(myurl);
mVideoView = new VideoView(this);
mVideoView.setVideoURI(video);
myMediaController = new MediaController(this);
它对我来说很简单。