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

2016-1-4更新

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

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

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


985E574C-AD50-4698-BDFB-3085A1F62B91.png

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

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


屏幕快照 2015-09-10 下午4.02.27.png

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

2B0BE9EE-AF7F-4B22-A7EF-FB4DD78EB719.png

我们要来看看这段代码:
<div id="youkuplayer" style="width:480px;height:400px"></div>
<script type="text/javascript" src="http://player.youku.com/jsapi">
player = new YKU.Player('youkuplayer',{
styleid: '0',
client_id: 'YOUR YOUKUOPENAPI CLIENT_ID',
vid: '替换成优酷视频ID'
});
</script>

首先,需要有: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
如果你发现有错误的地方、有不明白的地方、或者更好的改进的地方,欢迎指正,一起学习进步。或者在此留言给我,或者联系我:ljhang1@163.com thank you~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • PlayX是gmod游戏中的一个用来播放视频、音频的插件 订阅地址:steamcommunity.com/shar...
    侵晓潇潇雨阅读 6,139评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,866评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,841评论 18 139
  • 背景 这是一个大数据时代,有时候有些程序想要在网站上爬取主流网站的视频信息并记录下来做数据分析,甚至想要通过程序自...
    syncwt阅读 109,358评论 18 59
  • 举目四野,遍地生荒。 阿虞缓缓拂开被江风吹至眼前的发丝,微红的指尖触及耳畔的肌肤,凉到骨子里。 她怔怔地伸出手,瞧...
    和煦子阅读 584评论 1 5