2012年12月24日星期一

关于Youtube视频URL地址的HACK

    在做一个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字段才可以

2012年10月25日星期四

Android笔记:自定义SeekBarPreference控件

最近在写软件设置页面时碰到一个问题:没有我需要的控件: 字体大小设置。于是在网上找发现了自定义控件。
下面介绍一个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日是周五,工作日,我该肿么办? 现在真的是羡慕那些还在学校读书的人呐

   

2011年6月21日星期二

被人叫了四年德克,德克总算夺冠了

    四年时间过的好快,已经毕业了。
    很多事情还来不及忘记;很多事情还没开始记忆;D盘里的空姐都都没欣赏够;留念用的照片也才这么点。
    本部两年都记不清了,但一段感情却永远也忘不了,再见就别再见了,我连朋友都不想做,就是怕勾起伤心的回忆;
    嘉定这种鸟不拉屎鸡不拉蛋的地方也熬了两年,工作的时候每天来回跑真的累死,估计以后一辈子也不会去同济嘉定校区了。
    大学四年有很多后悔的事情:没早一点开始学习专业的东西,这样也可以早点开始实习;对讨好女生这方面太不懂,没有对她好一点,这样说不定到现在我和她还在一起;大一大二花太多时间学习基础课,应该少花点时间多出去玩玩的。
    好了,最后希望有个美好的未来吧,8月中和达叔的聚会还是很期待的,至少又可以见一面。
    最后的最后,德克夺冠了,四年时间一直被叫德克,一开始还是蛮抵制的,后来就无所谓了,现在挺开心的,小牛确实很牛。

2011年5月18日星期三

饭否Android客户端——饭桌FanDroid

先发布0.6版,新增功能:

收藏页面缓存
@提醒
热词

这是自己和一个同学做的饭否Android客户端,发布0.5版,支持功能:

查看消息、回复消息、发送消息、转发消息、搜索消息
查收私信、发送私信、回复私信
增加收藏、取消收藏
添加好友、取消关注
上传照片
手势操作
查看个人空间
随便看看

以下是将来(或下一版本)会支持的功能:

删除私信
删除消息
热词

希望大家多多支持

下面是两张截图

登录界面
关于界面


apk文件已上传至google code,可翻墙的饭友猛击这里下载。

手机上有二维码扫描器的饭友可以扫描下图下载(貌似免翻墙的吧)。


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天之后再决定是不是要成为付费用户。