<!DOCTYPE html>
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta
http-equiv="Content-Type" content="text/html; charset=utf-8" />
   
<title></title>
</head>

<body>

<!--大概意思是在页面定义一个div用来保存js中输出的video控件,给playVideo方法传入参数来控制播放器,如果碰到在本机可以播放,但是在服务器上无法播放的问题时,请设置iis的mime类型,查看类型中是否有.mp4,没有就添加
扩展名:mp4   mime类型:video/mp4,,我本机IIS7-->

<div
id="divVideo"></div>
    <script type="text/javascript">
 
      playVideo({
            //所有参数,elemt和src为必填其他看需求怎么要求
           
//elemt为播放控件要插入的容器,src为视频文件地址,preload为预加载,autoplay是否页面进入就自动播放
           
//poster为播放前的遮照图片,loop为是否循环播放,width和heigth默认100%
            elemt:
document.getElementById("divVideo"),
            src: "3.mp4",  
 //此地址是在本机测试用的,如果发布在服务器上请写服务器的绝对路径。我是发布在外网上的,例如:http://www.tttt.com/test/3.mp4
 
          preload: "true",
            autoplay: "true",
           
poster: "",
            loop: "true",
            width: "",
         
  heigth:""

});

function  playVideo (opt) {
        if (typeof (opt) == "undefined")
{
            alert("请传入必要参数!");
            return;
        }
     
  if (typeof (opt.elemt) == "undefined") {
           
alert("请指定播放器要插入的对象!");
            return;
        }
        if
(typeof (opt.src) == "undefined") {
            alert("请指定要播放视频的路径!");
   
        return;
        }
        var _this = this;
        _this.elemt
= opt.elemt;                                       //播放器要插入的对象
       
_this.src = opt.src;                                          
//视频的URL(必设) 
        _this.width = opt.width > 0 ? opt.width + "px" :
"100%";       //宽度(默认100%) 
        _this.height = opt.height > 0 ?
opt.height + "px" : "100%";    //高度(默认100%)
        _this.autoplay =
opt.autoplay == "true" ? "autoplay" : "";     //自动播放(true为自动播放)
       
_this.poster = opt.poster;                                    
//视频封面,播放时的封面图片
        _this.preload = opt.preload == "true" ? "preload" :
"";        //预加载(true时启动加载)
        _this.loop = opt.loop == "true" ? "loop"
: "";                 //循环播放(true时循环播放)
        var str = "<video
id='playVideo' controls ";                   //根据设置的属性的值,拼写video控件
       
str += " width='" + _this.width + "' height='" + _this.height + "' " +
_this.autoplay + " " + _this.preload + " " + _this.loop + " ";
        if
(typeof (_this.poster) != "undefined") {
            str += " poster='" +
_this.poster + "' >";
        } else {
            str += " >
";
        }
        str += " <source src='" + _this.src + "'
 type='video/mp4; codecs='avc1.42E01E, mp4a.40.2''/>";
        str +=
"</video>";
        _this.elemt.innerHTML = str;                      
            //将str放到要插入的对象中
    }

</script>
</body>
</html> 

借用网上大神的一些知识,html5 video 视频播放都兼容(Android,iOS,电脑)的更多相关文章

  1. 实现网上大神的asp.net mvc + ef +easyui

    大神开源博客: http://www.cnblogs.com/ymnets/p/3424309.html 系统更换UI:本人喜欢基于bootstrap的adminlteUI,所以后面会将UI更换为ad ...

  2. 移动端HTML5<video>视频播放优化实践

    遇到的挑战 移动端HTML5使用原生<video>标签播放视频,要做到两个基本原则,速度快和体验佳,先来分析一下这两个问题. 下载速度 以一个8s短视频为例,wifi环境下提供的高清视频达 ...

  3. 移动端HTML5<video>视频播放优化实践[转]

    http://blog.csdn.net/u010918416/article/details/52705732 http://www.xuanfengge.com/html5-video-play. ...

  4. 移动端 HTML5 <video> 视频播放优化实践

    遇到的挑战 移动端HTML5使用原生<video>标签播放视频,要做到两个基本原则,速度快和体验佳,先来分析一下这两个问题. 下载速度 以一个8s短视频为例,wifi环境下提供的高清视频达 ...

  5. [转]移动端HTML5<video>视频播放优化实践

    遇到的挑战 移动端HTML5使用原生<video>标签播放视频,要做到两个基本原则,速度快和体验佳,先来分析一下这两个问题. 下载速度 以一个8s短视频为例,wifi环境下提供的高清视频达 ...

  6. Chrome/Chromium HTML5 video 视频播放硬件加速

    Chromium站点上有个大致的框图.描写叙述了Chromium的video在各个平台 - 包含Android - 上是怎样使用硬件资源来做视频编解码加速的: 而依据Android Kitkat上的C ...

  7. HW Video Acceleration in Chrome/Chromium HTML5 video 视频播放硬件加速

    Introduction Video decode (e.g. YouTube playback) and encode (e.g. video chat applications) are some ...

  8. K 大神的博弈知识汇总

    博弈知识汇总 有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可.两个人轮流从堆中取物体若干,规定最后取光物体者取胜.这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻 ...

  9. 各位大神,我请教一个问题,我在Android studio上创一个project显示错误

    Error:FAILURE: Build failed with an exception. * Where: Build file 'C:\Users\Administrator\AndroidSt ...

随机推荐

  1. 【HDOJ】1983 Kaitou Kid - The Phantom Thief (2)

    不仅仅是DFS,还需要考虑可以走到终点.同时,需要进行预处理.至多封闭点数为起点和终点的非墙壁点的最小值. #include <iostream> #include <cstdio& ...

  2. POJ_2100_Graveyard_Design_(尺取法)

    描述 http://poj.org/problem?id=2100 求连续平方和=n的序列个数,并输出序列. Graveyard Design Time Limit: 10000MS   Memory ...

  3. Windows Azure案例分析: 选择虚拟机或云服务?

    作者 王枫 发布于2013年6月27日 随着云计算技术和市场的日渐成熟,企业在考虑IT管理和运维时的选择也更加多样化,应用也从传统部署方式,发展为私有云.公有云.和混合云等部署方式.作为微软核心的公有 ...

  4. (转载)Linux下IPTABLES配置详解

    (转载)http://www.cnblogs.com/JemBai/archive/2009/03/19/1416364.html 如果你的IPTABLES基础知识还不了解,建议先去看看. 开始配置 ...

  5. structs 源码示例

    http://blog.csdn.net/wwwihpccn/article/details/5725518

  6. sql server 是否存在内存表?

    最近开发有个需求,需要使用到函数,但是函数中需要使用case when 判断分支,其实可以放到一张表中读取分支:但是物理表需要I/O开销,几十W的数据,线上开销也是很大的,所以就想sql server ...

  7. How to install Apache Server on Windows

    Note Those of you interested in the Apache 2.0.X tutorial, it has been abandon and I will no longer ...

  8. Bzoj 2243: [SDOI2011]染色 树链剖分,LCT,动态树

    2243: [SDOI2011]染色 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 5020  Solved: 1872[Submit][Status ...

  9. 一步一步写一个简单通用的makefile(四)--写一个通用的makefile编译android可执行文件

    通常要把我们自己的的代码编译成在android里面编译的可执行文件,我们通常是建一个文件夹 . ├── Android.mk ├── Application.mk ├── convolve.cl ├─ ...

  10. 连续使用两次fread 错误和fread返回值

    今天在写一个代码,要把一帧的buffer读入到文件,因为有NEON和OpenCL两种不同的实现所以需要读取文件两次,代码如下: FILE *file; ; INTER_BLOCK_SIZE_GPU_R ...