android 播放 优酷视频

一、注册优酷开放平台账号


二、创建应用,获取 client_id client_secret


三、播放器代码讲解(详见URL:http://open.youku.com/tools)

提示:ie下要有才能显示正常
如果播放器不能显示,请给播放器外层
增加宽度和高度样式

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

你可能感兴趣的:(js学习,Android学习,android,优酷,webview,javascript)