一、注册优酷开放平台账号
二、创建应用,获取 client_id 与 client_secret
三、播放器代码讲解(详见URL:http://open.youku.com/tools)
提示:ie下要有<html/><body/>才能显示正常
如果播放器不能显示,请给播放器外层<div/>增加宽度和高度样式
<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: '替换成应用ID',
vid: '替换成优酷视频ID',
autoplay: true,
show_related: true,
embsig: 'VERSION_TIMESTAMP_SIGNATURE',
events:{
onPlayEnd: function(){ /*your code*/ }
}
});
function playVideo(){
player.playVideo();
}
</script>
1、div标签中的id对应着javascript中Player()的第一个参数
2、div的宽高可以使像素值,也可以是百分比
3、Player()中前三个属性必填
a.styleid为播放器样式,可在URL中进行设置
b.client_id见上
c.vid为视频ID,可在优酷网也的地址栏找到
4、选填项
a.autoplay:是否自动播放视频
b.show_related:播放完后是否显示相关视频
c.embsig:客户端(非网站)应用参数设置(非网站类应用必须设置此项)
ps:貌似embsig不写也无所谓(笑)之后还会专门讲这个参数的设置
d.events:事件回调: onPlayerReady播放器准备就绪调用; onPlayStart播放器开始播放时调用; onPlayEnd播放器结束播放时调用;
e.播放器控制接口:
void playVideo()播放
void pauseVideo()暂停
void seekTo(int seconds)定位至指定时间
float currentTime()当前播放时间
5、embsig讲解
embsig生成规则说明:
embsig组成结构: "VERSION_TIMESTAMP_SIGNATURE"
VERSION 1
TIMESTAMP 为 UNIX stamp
SIGNATURE 为 md5(VID_TIMESTAMP_CLIENT-SECRET),
*切记一定要在移动客户端中生成再传给页面,避免泄漏
CLIENT_SECRET 生成后的 embsig 在 TIMESTAMP 5分钟以内有效
6、java中MD5的算法
public static void main(String[] args) throws Exception
{
MessageDigest md5 = MessageDigest.getInstance("MD5");
String password = "wodemima";
byte[] bytes = md5.digest(password.getBytes());
String result = "";
for(byte b : bytes)
{
String temp = Integer.toHexString(b & 0xff);
if(temp.length() == 1)
{
temp = "0" + temp;
}
result = result + temp;
}
System.out.println(result);
}
7、java中UNIX stamp的算法
a.long stamp=System.currentTimeMillis() / 1000;
b.long stamp=new Date().getTime()/10000;
ps:不知是否正确,求大牛指教
四、android在webView中载入html
1、网络权限(不多描述)
2、初始化WebView
WebSettings settings = myWebView.getSettings();
//WebView启用Javascript脚本执行
settings.setJavaScriptEnabled(true);//是否允许javascript脚本
settings.setJavaScriptCanOpenWindowsAutomatically(true);//是否允许页面弹窗
3、加载html
String html="播放器代码";
myWebView.loadData(html, "text/html; charset=UTF-8", null);
暂时先这样了,亲测哦!
tip:附一个算unix timestamp的网址