android 播放 優酷視頻

一、註冊優酷開放平臺賬號


二、創建應用,獲取 client_id client_secret


三、播放器代碼講解(詳見URLhttp://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的網址

http://tool.chinaz.com/Tools/unixtime.aspx

發佈了49 篇原創文章 · 獲贊 58 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章