【发布时间】:2012-11-24 00:27:49
【问题描述】:
我正在开发一个音乐应用程序,它可以显示歌词和歌曲信息,还可以播放来自 youtube URL 的歌曲。
在我的活动中,有一些 TextView(用于歌词/信息)和一个 VideoView(用于 youtube 链接)。
我创建了一个名为 YoutubeVideo 的类,它执行以下操作:
- 下载此页面的内容:http://gdata.youtube.com/feeds/api/videos?q=SONG_NAME&v=2&max-results=1,解析其内容并获取 youtube 的 ID(例如 EvuL5jyCHOw)。这是一个 RSS 源页面,用于搜索视频并显示 1 个结果(我需要做的就是更改查询)。
- 下载此页面的内容:http://gdata.youtube.com/feeds/api/videos?q=YOUTUBES_ID&format=1&alt=json,解析其内容并获取 rtsp(例如 rtsp://v7.cache3...3gp)。这是一个 XML 文件,其中包含有关视频的一些信息(名称、长度、缩略图,当然还有 - rtsp 链接:)。
- 我需要做的就是将 rtsp 设置为 VideoURI:
VideoView.setVideoURI(Uri.parse(rtsp))并且正在播放视频。
如果你想知道,我会这样使用这个类:new YoutubeVideo(VideoView).setVideo(artist + " " + title);
它可以工作,但我遇到了一个问题:它是一个 3gp 文件......质量真的很差。 如何获得质量更好的网址? (mp4/flv/ect?)
【问题讨论】:
-
您找到解决问题的方法了吗?你能看看this query
-
我在考虑另一种方法:flash 对象的 html 代码包含所有总部视频 url。这就是为什么像 IDM 和一些greasemonkey 脚本这样的程序可以让您下载总部视频的原因。你可以看看这个:userscripts.org/scripts/review/25105。这是一个提取总部 url 的 JavaScript 代码。您可以阅读本文并了解如何自己提取总部链接并让用户选择格式!这样,您可以使用 videoview 而不是 webview。我还没有这样做,所以我没有相应的 java 代码:/
标签: android youtube android-videoview