<!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. SEH and C++ Exceptions,自定义CSeException

    Description of CSeException CSeException class is based on CException class provided by MFC. I overw ...

  2. RMA Sales Order – Stuck with “Awaiting Return Disposition”

    RMA Sales Order – Stuck with "Awaiting Return Disposition"                     Action : (P ...

  3. Rocky(dfs)

    题目描述 Sylvester Stallion is an old horse who likes nothing better than to wander around in the fields ...

  4. HDU 5961 传递 【图论+拓扑】 (2016年中国大学生程序设计竞赛(合肥))

    传递 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)     Problem ...

  5. log4net封装类 zz

    封装说明: 1.使用静态方法调用即可写入日志. 2.在日志信息写入之前,定义委托处理日志信息,便于记录日志信息之前,显示给用户. 3.添加代码配置Log4net,避免应用程序总是携带配置文件.如果需要 ...

  6. DBA的那些事

    --Author:Leshami --Blog    :http://blog.csdn.ne/leshami 说起DBA,全称是Database Administrator,不是Doctor of ...

  7. 基于WCF大型分布式系统的架构设计

    在大型系统中应用中,一个架构设计较好的应用系统,其总体功能肯定是由很多个功能模块所组成的,而每一个功能模块所需要的数据对应到数据库中就是一个或多个表.而在架构设计中,各个功能模块相互之间的交互点 越统 ...

  8. Qt学习之路(2)------Qt中的字符串类

    QString QString的一些基本用法 basic.cpp #include <QTextStream> int main(void) { QTextStream out(stdou ...

  9. Unity3d 实现顶点动画

    在今年GDC上发现一个非常有趣的演讲,叫做Animating With Math,遂实现之,是讲述顶点shader动画的,举了几个经典的例子,但是讲者并没有给代码,而是像虚幻引擎那样的节点,这样更加清 ...

  10. C语言中的宏

    写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等.下面列举一些成熟软件中常用得宏定义...... 1,防止一个头文件被重复包含 #ifndef COMDEF_ ...