YOUKU播放器 研究
写在前面的话:
昨天晚上无意间在土豆首页logo处有个视频弹出,原来是土豆新的推广视频方式。 兴趣来了,就模仿了一个。
本文基于优酷开放平台API撰写。介于使用土豆开放平台一个参考。
土豆大概预览图(无沟你们怎么会进来呢?(☆_☆)/~~)
准备工作
优酷开放平台 - 工具箱 http://open.youku.com/tools
如截图所示,YOUKU大大们只提供简单几个配置参数和方法,完全达不到能隐藏控制条
和循环播放
效果。
于是研究起源码之路。
实例化一个播放器对象
player = new YKU.Player('youkuplayer',{
styleid: '0',
client_id: 'YOUR YOUKUOPENAPI CLIENT_ID',
vid: '替换成优酷视频ID'
});
得到如下所示:(截图)
1、 隐藏控制条
于是就找到隐藏控制条方法,调用 player.hideControls()
就行
2、 循环播放
优酷播放器开发API没有提供循环播放接口,但是想到一种比较hack写法.
在播放结束的时候,继续播放。但是直接调用继续播放player.playVideo();
,视频画面会卡住,影响体验。在结束加一个setTimeout就解决问题,大概意思是,让播放器设置回归初始值就有个时间差的。
player = new YKU.Player('youkuplayer',{
... other
,events:{
//播放器结束播放时调用
onPlayEnd: function () {
// hack 循环播放
setTimeout(function () {
player.playVideo();
}, 4)
}
}
})
3、 去掉广告
看到土豆首页是直接播放,没有广告。于是调用优酷免费广告计划。
优酷本身提供去广告的接口,可惜需要钱.
但是也提供了免费试用100次, 页面刷新100次也就相当于用完了.
以上基本播放器基本工作准备就绪。现在就是前端仿写的工作。
4、鼠标移动到土豆网logo,就立马播放.
在测试期间发现,如果未等视频播放器加载完毕,调用mouseenter
事件的话,播放器是不会播放的。
并且还隐藏不了控制条player.hideControls()
。
player = new YKU.Player('youkuplayer',{
... other
,events:{
//播放器准备就绪调用
onPlayerReady: function () {
// 隐藏控制台
player.hideControls();
// 添加mouseenter.mouseleave事件
$(document).on('mouseenter', '#logo', function(){
// 定位处理不在此撰写。(别砸瓶子过来(^.^)。。
player.playVideo();
})
.on('mouseleave', '#logo', function(){
player.pauseVideo();
})
}
}
})
5、 解决div遮住优酷视频flash (FF、IE特有)
本想完成操作很完美,但FF、IE测试不尽如意,不会像土豆视频一样点击进入专题。
也是flash遮住了,但是要设置<param name="wmode" value="transparent">
player = new YKU.Player('youkuplayer',{
... other
// 隐藏设置,我**,能否在API文档写清楚么,害我查半天。
,flashext: '<param name="wmode" value="transparent">'
})
6、视频尺寸问题,视频有上下2条黑边,完全做不到没黑边的效果(像卡片一样精美。)
调整了半天只能达到这效果,估计是制作视频的时候,没符合优酷的完美尺寸吧。
附上播放器隐藏还能记录播放记录的方法 http://note.rpsh.net/posts/2013/07/30/div-flash
只有在visibility:hidden;
或者left:-1000px
情况下,视频从隐藏
至显示
是还能继续播放的。
无耻附上链接(有广告嫌疑,不要秒掉我:htpp://www.youxiake.com
YOUKU播放器 研究相关推荐
- linux 嵌入式 播放器,基于Linux的嵌入式媒体播放器研究
摘要: 计算机多媒体技术和嵌入式技术的高速发展,各种集计算机.通信.消费电子产品等特征于一体的电子产品得以广泛应用,嵌入式媒体播放器已经成为此类产品中主要的应用软件.同时,随着Linux系统在各种嵌入 ...
- upnp 播放器 android,基于Android系统的UPNP媒体播放器的研究与实现
摘要: 近几年来,"数字家庭网络"的发展备受人们的关注,如何通过有线或无线的方式将多个网络设备及家庭设备互联互通,最终实现设备之间自动发现.智能互联.相互控制.资源共享等操作,是目 ...
- 双语播放器关键词研究
HD2.5 ted, 演讲, 英语, 视频, 本地, 复读机, 字幕, 老友记, 生活大爆炸, 吸血鬼日记, 英文, 电影, 绝望主妇, 美剧, 听力, 音频书, 行尸走肉,破产姐妹,权力的游戏, ...
- 关于主流播放器蛋疼的联网功能的研究
结论: pc版百度音乐阉割联网功能 手机版天天动听或网易云音乐阉割联网功能 作为一名虔诚的LoveLiver,听μ's的歌写程序是必须的~ 无疑,音乐一定要是flac无损的(尽管我听不出来),带高清专 ...
- JAVA音频研究5:音频播放器(javax.sound学习指南,javax.sound学习实战)
本代码将调用javax.sound库,讲解如何播放音频 得到能够使用的简易音频的播放器 本文可作为javax.sound学习指南,javax.sound学习实战等进行参考 相关内容请看下方代码与注释 ...
- 解决android2.1中Youku每次都要选择默认播放器的问题
转载自:http://hi.baidu.com/jfojfo/item/96bafb4c18a2de2311ee1e7b 使用Android手机一段时间了,安装Youku的apk,用起来还不错,唯一有 ...
- android音乐播放器进度条误差研究
2019独角兽企业重金招聘Python工程师标准>>> 如何做一个"流畅"而且"准确"的进度条? 流畅!由两个条件决定,更新的频率 和 更新的 ...
- android音乐播放器的历史,基于Android音乐播放器的研究
Android平台是目前智能移动终端的主流系统.随着人们生活.工作节奏的加快,乘车.运动.学习等碎片时间的增多,音乐播放器成为人们所关心的必备应用之一,广受大家欢迎. 目前,Android市场上以酷狗 ...
- android音乐播放器进度条研究
如何做一个"流畅"而且"准确"的进度条? 流畅!由两个条件决定,更新的频率 和 更新的精度 频度和精度要相适应,才能保证流畅,并不是精度越高越好,也不是频度越高 ...
- FeelUOwn音乐播放器的一点点研究
L4 FeelUOwn音乐播放器 这是python结课作业的第四题(Level 4),选择一个python项目,迁移到自己的机器上(哎就是安装),各路大神都在搞深度学习.人工智能之类,我学习进度没他们 ...
最新文章
- linux kernel的中断子系统之(三):IRQ number和中断描述符【转】
- linux时间同步_如何在Ubuntu上使用FreeFileSync同步文件
- align 的用法(u-boot源代码分析)
- Fedora开启telnet服务
- 现在银行etl还要做拉链表吗_hive 拉链表 实现全量数据 增量更新
- 这个开源数据集要在全球扩大中文NLP影响力,你也能来做贡献!
- LINUX考证优惠信息转发(图)
- java创建文件夹和文件_Java创建文件夹与创建文件
- 家里安装宽带,另一个房子相距150米怎么连网?
- 用 RSocket 解决响应式服务之间的通讯
- C中处理Python的Numpy数组的代码范例
- 微信小程序详细图文教程-10分钟完成微信小程序开发部署发布(3元获取腾讯云服务器带小程序支持系统)
- python四分位数_四分位数计算过程
- 揭开 Xxl-job 的神秘面纱
- 版本控制管理工具Git/SVN
- Android_openCV图片处理
- 硬盘坏了!!!!!!
- (附源码)springboot客户信息管理系统 毕业设计 181936
- 怎么把两个表格的内容合并
- android Camera 设置焦距
热门文章
- 云服务器安装Linux桌面,centos 云服务器有桌面吗 如何进行安装
- python 学习(八—1) 项目:生成随机的测试试卷文件
- Python学习-安装Anaconda及print我爱王晓静
- u盘安装centos8黑屏_求助啊为何装centos7一点安装就黑屏
- wtl,9到10版的改进
- 基于IMDb数据集的情感分析(TF-IDF与机器学习实现)
- 腹肌锻炼视频(02):八种基本动作
- 捷径越来越少,快钱越来越难,为什么人生的路越来越窄?
- 十几减9的口算题_一年级数学《口算十几减9》教案
- windows安装gem和fastlane