iOS-截取优酷视频地址的ID播放视频

2016-1-4更新

不经意间发现在苹果最新的9.0系统或以上,以下的方法好像不怎么适用了。点击视频画面的时候不能播放视频,不知道是否是页面的响应问题还是什么,也没仔细探究。重要的是优酷视频云已经开放了iOS SDK,时间是2015年11月份。

之前在项目中有个播放视频的功能,但是这些视频又不是放在服务器上面的。而是用户上传到优酷上面,然后将视频的信息地址等等保存在服务器,app端请求时数据返回到app端。

本来需求的要求也不是很高的,只要能到页面播放视屏就OK了。于是我就直接把一串地址加载到UIWebView上就完事了。。。效果是这样的:


iOS-截取优酷视频地址的ID播放视频_第1张图片
985E574C-AD50-4698-BDFB-3085A1F62B91.png

不过这样的话,页面好像挺大的,网速慢的时候加载起来会有点慢,影响用户的体验。

不久,需求说这样太难看了,整个页面都显示出来了。能不能改一下,只是显示视频的缩略图。要的效果如下:


iOS-截取优酷视频地址的ID播放视频_第2张图片
屏幕快照 2015-09-10 下午4.02.27.png

OK,as your wish,尝试一下。
上优酷的开发者平台(http://open.youku.com/tools) 一看,我擦,坑爹嘛连iOS SDK都没有的!!让我们敬请期待。。。没办法了,就试试web JS的方法了。上面有介绍:

iOS-截取优酷视频地址的ID播放视频_第3张图片
2B0BE9EE-AF7F-4B22-A7EF-FB4DD78EB719.png

我们要来看看这段代码:


首先,需要有:client_id--优酷开放平台创建应用的client_id;你也可以设置styleid的类型;好了,接着,需要有vid: '优酷视频ID';再接着解析你的视频URL地址,for example,(http://v.youku.com/v_show/id_XNDcwMDc3MTk2.html?from=y1.7-2) --拿到id_后面的那串东西。。。

OK,最后就是通过webview的方法 - (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL; 来加载上面那一大串替代后的JS代码。与此同时也设置一下上面JS里style的width和heigh以适配不同的机型。最后效果如下:


video.gif

源码下载:https://github.com/ljhang/PlayYoukuVideo
如果你发现有错误的地方、有不明白的地方、或者更好的改进的地方,欢迎指正,一起学习进步。或者在此留言给我,或者联系我:[email protected] thank you~~

你可能感兴趣的:(iOS-截取优酷视频地址的ID播放视频)