【发布时间】:2010-11-03 17:00:52
【问题描述】:
我正在编写一个应用程序来使用流媒体播放 youtube 视频。
第一种方法:
我正在使用 GData API 获取视频的 RTSP URL。 这是播放 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();
但它在 G1 设备和模拟器上都会引发错误(模拟器有一些 根据邮件列表的防火墙问题) 这是错误信息
ERROR/PlayerDriver(35):命令 PLAYER_INIT 完成但出现错误或 信息 PVMFFailure
第二种方法:
获取 3gp 文件路径的 hack 方法 http://www.youtube.com/get_video?v=&t=&.. 获取文件路径后,我可以调用 setVideoURI 并播放 美好的。但这是实现要求的一种黑客方式。 我也检查了 Youtube 应用程序,它也有破解的方式来玩 youtube url。(用 logcat 检查)
我尝试从 VideoView 更改为 MediaPlayer,但错误没有改变。
有没有“干净”的方法来做到这一点?
请告诉我你的想法。
【问题讨论】:
-
您不能直接调用 YouTube 播放器来播放视频吗? (类似于 iPhone YouTube 应用的工作方式?)
-
你能解释一下这个黑客吗?我也面临同样的问题。
-
看看How to get thumbnail of YouTube video link using YouTube API? 有一个聪明的答案指出如何获取 rtsp url:试试这个作为例子:gdata.youtube.com/feeds/api/videos/…
-
如果你找到解决方案,请分享。
标签: android youtube streaming android-mediaplayer android-videoview