Streaming Youtube Videos

I am writing an application to play youtube videos using streaming.

First method:

I am getting the RTSP URL to the video using GData APIs. Here is the code to play the RTSP url.

   VideoView mVideoView = new VideoView(this);
   setContentView(mVideoView);
   mVideoView.setVideoURI(Uri.parse("rtsp://rtsp2.youtube.com/CiILENy73wIaGQkDwpjrUxOWQBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp"));
   mVideoView.start();

But it throws error on both G1 device and emulator (Emulator has some firewall problem as per mailing list) Here is the error message

ERROR/PlayerDriver(35): Command PLAYER_INIT completed with an error or info PVMFFailure

Second method:

A hack way to get the path of 3gp file from http://www.youtube.com/get_video?v=&t=<>&<>.. After getting the file path and I can call setVideoURI and it plays fine. But it is a hack way to achieve the requirement. I have checked the Youtube App also, it also does the hack way to play the youtube url.(Checked with logcat)

I have tried changing from VideoView to MediaPlayer but no change in the error.

Is there a "Clean" way to do this?

Please let me know your thoughts.


如果您愿意在新活动中完成这项工作,那么以下内容适用于设备,但不适用于模拟器:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=cxLG2wtE7TM")));


Sometimes Uri.parse return "null" because cant parse an rtsp protocol instead of http protocol.

Look it with an Log in logcat Uri.parse(rtspURL).toString() and you will see nothing written. or only make Log.d("tag", Uri.parse); and the same will be return.

Try to find another way to parse (create) an Uri.

I'd try with that and run:

String urlVideo = <your rtspURL>
VideoView video = (VideoView)findViewById(R.id.VideoView01);
Log.d(tag , urlVideo);
video.setVideoURI(Uri.parse(urlVideo));
MediaController mc = new MediaController(this);
video.setMediaController(mc);
video.requestFocus();
video.start();
mc.show();

I'm impressed that the dirty way works at all! If you've got a working solution, go with it. I don't think there's a clean way to get RTSP streaming working in the SDK yet.

链接地址: http://www.djcxy.com/p/28910.html

上一篇: 强制使用YouTube的高质量缩略图

下一篇: 流式传输Youtube视频