一、註冊優酷開放平臺賬號
二、創建應用,獲取 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的網址