在做一个app时,需要在手机/平板端播放流媒体,这里就需要针对某视频的URL,mVideoView.setVideoUri(Uri.parse(SOME YOUTUBE VIDEO URL)); 这肯定不是通过直接youtube网上点击某视频所得的URL地址,需要hack一下,这部分在Youtube Data API里是找不到的,在StackOverflow上有一些英文资料,不过也都比较老,我总结修改了一些。
0. 保证通畅的VPN链接。
1. 通过Data API获取一批视频列表,得到视频的video_id
2. http://www.youtube.com/get_video_info?video_id= /*video_id*/获取该video_id的信息
3. 这一串String中,找到 fmt_list 与 url_encoded_fmt_stream_map,这两个项中的内容是相互对应的,最好通过split等手段转换为数组,转换成ArrayList或HashMap就更方便了。fmt_list需要URL decoder一下
4. 在 http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs 中取相对应的视频质量的value,由于我准备在平板上做,选取了18,mp4格式的视频
5. 得到fmt_list对应18的index,用这个index来获取url_encoded_fmt_stream_map中的值,再split一下,得到的第一位的String就是URL,这时还需要decoder一下。split的分隔符为&
我就是最后没有decoder,结果一直报错,返回一个MediaController -1004的错误
代码就不放了,自己调用一下API,看一下获取的String,对于hack url的理解和处理还是很有好处的。关键是用hack方法得到的结果是一大串String,需要好好处理下是挺有难度。
不能保证什么时候Google把这个方法封了,那就需要另外再找方法了。Google前几天刚刚放出了一个 android youtube play api,还没好好看过doc文档,高手可以看一下有没有比较clean的方法来实现
参考资料:
http://stackoverflow.com/questions/4397584/cant-download-from-youtube
http://stackoverflow.com/questions/3311795/youtube-video-download-url
http://stackoverflow.com/questions/1007695/streaming-youtube-videos
PS:我还没有实际在真机上测过,晚上试验一下再update
update:在解析到的视频地址后,还需加上"&signature=" + url_encoded_fmt_stream_map中的sig字段才可以
流星圣殿
Linkin的博客 饭否: fanfou.com/westlinkin
2012年12月24日星期一
2012年10月25日星期四
Android笔记:自定义SeekBarPreference控件
最近在写软件设置页面时碰到一个问题:没有我需要的控件: 字体大小设置。于是在网上找发现了自定义控件。
下面介绍一个SeekBarPreference控件,保存的Value为int型,直接在preferences的xml里面使用这个自定义控件即可,无需添加其他代码。
引用参考:http://www.cnblogs.com/jdsjlzx/archive/2011/07/19/2110931.html
下面介绍一个SeekBarPreference控件,保存的Value为int型,直接在preferences的xml里面使用这个自定义控件即可,无需添加其他代码。
还可以自定义做一个颜色选择的设置控件,下次再写。
引用参考:http://www.cnblogs.com/jdsjlzx/archive/2011/07/19/2110931.html
2011年10月14日星期五
GDD大会,幸福的烦恼
GDD:Google Developer Day。
之前,于9月14日得知消息:谷歌开发者日技术大会将于近日举行。说实话,本来也没怎么指望能通过网申(?),况且时间又是在周五,工作日啊亲!于是就根本没准备报名。
在新浪微博上分享了一下这个消息,被几个同学鼓动了,所以说我是一个很容易冲动的人啊,跟着他们一起报了一下名,嘿,今天就收到邮件确认函了。
这里不得不吐槽一下Gmail垃圾邮件过滤,要不是我有定期查看垃圾邮件的强迫症外加晚上时间比较无聊,我肿么能看到这封确认函啊!
由于今晚诸事不顺,在这里得瑟一下!
现在有一个幸福的烦恼:11月4日是周五,工作日,我该肿么办? 现在真的是羡慕那些还在学校读书的人呐
之前,于9月14日得知消息:谷歌开发者日技术大会将于近日举行。说实话,本来也没怎么指望能通过网申(?),况且时间又是在周五,工作日啊亲!于是就根本没准备报名。
在新浪微博上分享了一下这个消息,被几个同学鼓动了,所以说我是一个很容易冲动的人啊,跟着他们一起报了一下名,嘿,今天就收到邮件确认函了。
这里不得不吐槽一下Gmail垃圾邮件过滤,要不是我有定期查看垃圾邮件的强迫症外加晚上时间比较无聊,我肿么能看到这封确认函啊!
由于今晚诸事不顺,在这里得瑟一下!
现在有一个幸福的烦恼:11月4日是周五,工作日,我该肿么办? 现在真的是羡慕那些还在学校读书的人呐
2011年6月21日星期二
被人叫了四年德克,德克总算夺冠了
四年时间过的好快,已经毕业了。
很多事情还来不及忘记;很多事情还没开始记忆;D盘里的空姐都都没欣赏够;留念用的照片也才这么点。
本部两年都记不清了,但一段感情却永远也忘不了,再见就别再见了,我连朋友都不想做,就是怕勾起伤心的回忆;
嘉定这种鸟不拉屎鸡不拉蛋的地方也熬了两年,工作的时候每天来回跑真的累死,估计以后一辈子也不会去同济嘉定校区了。
大学四年有很多后悔的事情:没早一点开始学习专业的东西,这样也可以早点开始实习;对讨好女生这方面太不懂,没有对她好一点,这样说不定到现在我和她还在一起;大一大二花太多时间学习基础课,应该少花点时间多出去玩玩的。
好了,最后希望有个美好的未来吧,8月中和达叔的聚会还是很期待的,至少又可以见一面。
最后的最后,德克夺冠了,四年时间一直被叫德克,一开始还是蛮抵制的,后来就无所谓了,现在挺开心的,小牛确实很牛。
很多事情还来不及忘记;很多事情还没开始记忆;D盘里的空姐都都没欣赏够;留念用的照片也才这么点。
本部两年都记不清了,但一段感情却永远也忘不了,再见就别再见了,我连朋友都不想做,就是怕勾起伤心的回忆;
嘉定这种鸟不拉屎鸡不拉蛋的地方也熬了两年,工作的时候每天来回跑真的累死,估计以后一辈子也不会去同济嘉定校区了。
大学四年有很多后悔的事情:没早一点开始学习专业的东西,这样也可以早点开始实习;对讨好女生这方面太不懂,没有对她好一点,这样说不定到现在我和她还在一起;大一大二花太多时间学习基础课,应该少花点时间多出去玩玩的。
好了,最后希望有个美好的未来吧,8月中和达叔的聚会还是很期待的,至少又可以见一面。
最后的最后,德克夺冠了,四年时间一直被叫德克,一开始还是蛮抵制的,后来就无所谓了,现在挺开心的,小牛确实很牛。
2011年6月7日星期二
2011年5月18日星期三
饭否Android客户端——饭桌FanDroid
2011年4月16日星期六
推荐一个免费VPN——VPNCUP
注册链接:点我注册
设置指南:windows xp , windows 7 , ubuntu , Mac , iOS , Android
Android用户请用L2TP设置,貌似移动和联通封锁了PPTP,以我自己的经验来看,用PPTP可以连接上VPN,但无法上Twitter,但L2TP没问题。
此VPN每月有500M流量,如果用移动设备上的话足够使了~
优点:速度够快,绝对够快~ 看youtube完全没问题,在PC端看个youtube都没问题
缺点:免费的L2TP服务器有人数限制,如果登录的人太多的话,你可能登录不上去
如果想体验付费服务,它有一元店体验的,为期3天,登录美国服务器,3天之后再决定是不是要成为付费用户。
设置指南:windows xp , windows 7 , ubuntu , Mac , iOS , Android
Android用户请用L2TP设置,貌似移动和联通封锁了PPTP,以我自己的经验来看,用PPTP可以连接上VPN,但无法上Twitter,但L2TP没问题。
此VPN每月有500M流量,如果用移动设备上的话足够使了~
优点:速度够快,绝对够快~ 看youtube完全没问题,在PC端看个youtube都没问题
缺点:免费的L2TP服务器有人数限制,如果登录的人太多的话,你可能登录不上去
如果想体验付费服务,它有一元店体验的,为期3天,登录美国服务器,3天之后再决定是不是要成为付费用户。
订阅:
博文 (Atom)


