<!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. 三点经验:长时间运行函数需要随时发射信号报告进度,以及设置bool变量随时可以退出,每做一步操作必须及时记录和处理相关信息

    三点经验:长时间运行函数需要随时发射信号报告进度,以及设置bool变量随时可以退出,每做一步操作必须及时记录和处理相关信息 不能到最后一起处理,否则万一中间出错了,这个记录状态就全部都乱了.

  2. Android CoordinatorLayout + AppBarLayout(向上滚动隐藏指定的View)

    在新的Android Support Library里面,新增了CoordinatorLayout, AppBarLayout等. 实现的效果: 向下滚动RecylerView,Tab会被隐藏,向上滚 ...

  3. Jquery 获取表单值如input,select等方法

    1 if($("input[name=item][value='val']").attr('checked')==true) //判断是否已经打勾 name即控件name属性,va ...

  4. 2.6.2 Notification的功能与用法

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout ...

  5. [NYOJ 860] 又见01背包

    又见01背包 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述     有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W  的物品,求所 ...

  6. React入门2

    React 入门实例教程 最简单开始学习 JSX 的方法就是使用浏览器端的 JSXTransformer.我们强烈建议你不要在生产环境中使用它.你可以通过我们的命令行工具 react-tools 包来 ...

  7. ☀【JS】有效状态机

    JavaScript与有限状态机http://www.ruanyifeng.com/blog/2013/09/finite-state_machine_for_javascript.html

  8. DevExpress控件学习总结 z

    1.Navigation & Layout 1.1 Bar Manager 如果想在窗体或用户控件(user control)上添加工具条(bars)或弹出菜单(popup menus),我们 ...

  9. Linux之sed详解

    转载:http://blog.chinaunix.net/u/22677/showart_1076318.html   1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保 ...

  10. [MarsZ]ThinkPHP项目实战总结

    本文原word格式百度云盘下载地址: http://pan.baidu.com/s/1qYqZFkg 综述 2 需求 2 作者 2 系统一览 2 Unity3d客户端 2 PHP后台 4 准备 6 X ...