swfobject简单封装

最近一直在研究web视频播放器,找到好多可行的视频播放器,比如JWplayer、flowplayer、原生adobe flash等,最后选择的原生adobe flash,(另外两种其实更好更美观,博主还没研究透...),下面把原生的简单封装介绍下:

(function (jq) { jq.fn.video = function (o) {var str = '_video';var s = "swfs/StrobeMediaPlayback.swf";var i = jq(this).attr('id');var w = 640;var h = 360;var v = "10.3.0";var f = {src:'',//视频地址streamType:'vod',//点播'vod',直播'live'autoPlay: false,//自动播放controlBarAutoHide: false,//自动隐藏控制栏controlBarPosition: "bottom",//javascriptCallbackFunction: "onJavaScriptBridgeCreated"};//播放器的参数设置var p = {quality : "high",bgcolor : "#000000",allowscriptaccess : "always",allowfullscreen : "true",wmode : "window"//["direct", "opaque", "transparent", "window"]   transparent透明};//object的属性设置var a = {id : jq(this).attr('id')+str,name : jq(this).attr('name')+str,align : "middle"};var fn = null;var img = 'none';var start = '';var    duration = '';v = o.version?o.version:v;s = o.swf?o.swf:s;w = o.width?o.width:w;h = o.height?o.height:h;v = o.version?o.version:v;f.src = o.src?o.src:f.src;f.streamType = o.type?o.type:f.streamType;f.autoPlay = o.autoplay?o.autoplay:f.autoPlay;f.controlBarAutoHide = o.autohide?o.autohide:f.controlBarAutoHide;p.quality = o.quality?o.quality:p.quality;p.bgcolor = o.bgcolor?o.bgcolor:p.bgcolor;p.allowfullscreen = o.allowfullscreen?o.allowfullscreen:p.allowfullscreen;p.wmode = o.wmode?o.wmode:p.wmode;a.id = o.id?o.id:a.id;a.name = o.name?o.name:a.name;fn = o.callbackfn?o.callbackfn:fn;img = o.img?o.img:img;start = o.start?o.start:'';duration = o.duration?o.duration:'';f.src += start==''?'':'&wowzadvrplayliststart='+start;f.src += (start==''||duration=='')?'':'&wowzadvrplaylistduration='+duration;//编码转换f.src = escape(f.src);//首先设置未安装flash时的提示var htmlstr = "<div class='player_html5'><div style='width:100%;height:100%'><span style='font-size:18px'>您还没有安装flash播放器,请点击<a href='http://www.adobe.com/go/getflash' target='_blank'>这里</a>安装</span>/div></div>";jq(this).css("width", w + "px");jq(this).css("height", h + "px");jq(this).append(htmlstr);swfobject.embedSWF(s, i, w, h, v, null, f, p, a,fn);swfobject.createCSS("#"+a.id, img=="none"?"background-image:none":"background-image:url("+img+")");swfobject.addDomLoadEvent(falseToRightClick);//取消右击事件,火狐未成功function falseToRightClick(){$('#'+a.id).mousedown(function(e){ if(3 == e.which){return false;}})};//设置左击暂停...};
})(jQuery)

页面调用时:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="scripts/jQuery-2.1.4.min.js"></script>
<script type="text/javascript" src="scripts/swfobject.js"></script>
<script type="text/javascript" src="scripts/flash.js"></script>
<script type="text/javascript">function outputStatus(e){document.getElementById('myOutput').innerHTML = 'e.success = ' + e.success + '\ne.id = '+ e.id;//console.log(e);}$(function(){$('#myflash').video({src:'http://192.168.134.214:1935/dvr/dvrstream.stream/manifest.f4m?DVR',callbackfn:outputStatus,start:20151208181100,duration:30000});})
</script>
</head>
<body style='background-color:#cfcfcf;'><div id="movie" style='width:640px;height:360px;'><div id='myflash'></div>
</div>
<div id='myOutput'></div>
</body>
</html>

swfobject简单封装相关推荐

  1. Android APP更新下载工具类——简单封装DownloadManager

    几乎所有APP都包含了检查更新功能,更新下载功能的实现方式常用的有两种:1.使用App网络框架的文件下载请求:2.使用自带的DownloadManager类:本文介绍第二种,简单封装一下Downloa ...

  2. 简单封装浏览器 cookie 工具类

    版权声明:本文首发 http://asing1elife.com ,转载请注明出处. https://blog.csdn.net/asing1elife/article/details/8265571 ...

  3. 小程序简单封装 request 请求

    我在这里做了详细的介绍 : 小程序简单封装 request 请求 转载于:https://www.cnblogs.com/biangz/p/9984340.html

  4. 简单封装 HTTP 请求

    2017-2-19 更新到第二版: 源码地址:http://git.oschina.net/sp42/ajaxjs/tree/master/ajaxjs-base/src/com/ajaxjs/net ...

  5. 【JDBC】实现对JDBC 连接的简单封装

    package util;import java.sql.Connection; import java.sql.DriverManager;/**** 实现对JDBC 的封装* @author mq ...

  6. Android AsyncTask 深度理解、简单封装、任务队列分析、自定义线程池

    前言:由于最近在做SDK的功能,需要设计线程池.看了很多资料不知道从何开始着手,突然发现了AsyncTask有对线程池的封装,so,就拿它开刀,本文将从AsyncTask的基本用法,到简单的封装,再到 ...

  7. ios开发之使用多文件上传的简单封装最原始的

    ios开发之使用多文件上传的简单封装最原始的 // // ViewController.m // 18-上传多个文件 // // Created by 鲁军 on 2021/2/13. //#impo ...

  8. Spring jdbc 对象Mapper的简单封装

    一般查询实体的时候,都需要这么使用/**      * 根据id查询      *       * @return      */     public Emp queryEmpById(Intege ...

  9. Google图片加载库Glide的简单封装GlideUtils

    Google图片加载库Glide的简单封装GlideUtils  

  10. Php7 mongodb explain,【代码片-1】 php7 mongoDB 简单封装

    /** * mongoDB 简单 封装 * 注意:支持 mongoDB 3.2+ * * @author color_wind */ finalclassm_mgdb { privatestatic$ ...

最新文章

  1. java short字段_Java Field setShort()用法及代码示例
  2. spring Quartz cron表达式
  3. 九十六、双指针和滑动窗口算法模板
  4. asp.net core mvc剖析:KestrelServer
  5. Hello Views之Spinner(yaozq翻译,仅供参考)
  6. linux文件夹同步-文件对比工具,FreeFileSync,文件/文件夹比较和自动同步软件
  7. 《数据库原理与应用》复习总结
  8. vue中用装饰器报错:Parsing error: Decorators cannot be used to decorate object literal properties
  9. 【Matplotlib设置】Python绘图全局字体改为 Times New Roman
  10. Chrome 渲染分析之 Rendering 工具使用
  11. idea常见问题-个人而言
  12. 计算机网络_03_传输层(个人总结)
  13. 2019年互联网产业人才发展报告显示:互联网产业人才需求整体回暖
  14. # 2014年蓝桥杯真题CC++B组
  15. leetcode买卖股票问题(思路、方法、code)
  16. CUDA编程中的gridDim and blockDim
  17. ASP.NET 对路径的访问被拒绝
  18. 武松去厅前声了喏 江民杀毒软件
  19. 阿里天池比赛快速入门
  20. D客商城 全球最具价值的3D打印和个性化2D定制交易平台

热门文章

  1. 机器视觉——相机标定(摄像机标定)
  2. MessAPI V1.1.1 QQ音乐、网易云音乐、酷狗音乐、咪咕音乐、酷我音乐、百度音乐API接口
  3. 那些年,我们一起踩过的 “Android 坑”
  4. shark恒破解笔记4-API断点GetPrivateProfileStringA
  5. html设置自动居中显示,css+div实现整个html居中最简单方法
  6. 极域电子书包课堂管理系统怎么控屏_极域电子教室使用说明
  7. 极域电子教室软件怎么脱离控制_如何制定职业发展目标,才能避免“现实发展脱离职业规划”的问题...
  8. 万能免费信息采集软件-免费网站信息内容数据采集软件
  9. 多云环境无处不在,但其管理才刚开始
  10. mysql时间戳转为日期格式_mysql时间戳与日期格式的相互转换