网上找的一个小例子,包括时长播放时间等等都有。

mrl可以设置本地文件,这样发布网站后只能播放本地有的文件,

如果视频文件全在服务器上,其他电脑想看的话,则可以IIS上发布个视频文件服务器,类似http://192.168.1.1:8000/video/1.flv 这样可以访问到视频文件,然后这个http路径可以设置为mrl

但这样的话经测试支持的格式不多,flv是可以的

测试可以使用 使用vlc播放器播放rtsp视频 这里的打开网络串流看能不能正常播放,如果播放不了,即使视频文件可以访问到这个插件也播放不了的

vlc开发相关参考 web网页中使用vlc插件播放相机rtsp流视频 这里不再讲解

视频剪辑

var vlc; // VLC对象

var itemId; // 播放列表中播放节目的id

var vlcSound; // vlc音量大小(初始化默认为50)

var videoLength; // 视频总时长

var then_time; // 播放开始时间(播放开始的日期,看下面实现代码,它是毫秒哦)

var isPlaying=0; // 是否播放状态 (0 未播放 1 播放)

// 初始化 === 很重要哦,控制程序的入口

function initPlayUrl(){

vlc=document.getElementById("vlc");

// 添加播放地址

//vlc.playlist.add(window.opener.vdUrl);

// 播放

// vlc.playlist.play();

// 添加播放地址方式2 -- 推荐用下面的方法控制播放列表

var vedio_url=window.opener.vdUrl;

itemId= vlc.playlist.add(vedio_url);

vlc.playlist.playItem(itemId);

// 获取VLC当前音量

vlcSound=vlc.audio.volume;

// 设置VLC音量值

document.getElementById("vlc_sound").value=vlcSound;

// 播放按钮不可用

document.getElementById("play_button").disabled=true;

// 检查播放节目的状态 -- 注意这个是延时操作哦(setTimeout以毫秒为单位,这里延时0.5秒)

setTimeout(checkVedioStatus,500);

}

// 检查播放节目的状态

function checkVedioStatus(){

if(vlc.input.state>2 && vlc.input.state<5){

isPlaying=1;

// vlc.input.time 当前播放时长,单位毫秒

// vlc.input.length 节目总时长,单位毫秒

videoLength=parseInt(vlc.input.length/1000);

var temp_total_time=parseTime(videoLength);

// 总时长设置

document.getElementById("vedio_length").value=temp_total_time;

// 当前可以输入时间段跳转

document.getElementById("time_change").disabled=false;

// 获得当前系统时间

then_time=new Date().getTime();

// 计算当前播放时间点

checkTime();

}else{

// 如果不是播放状态就在延时执行

setTimeout(checkVedioStatus,500);

}

}

// 实时检测系统时间,计算视频的播放时长(典型的秒表功能)

function checkTime(){

if(isPlaying==1){

setTimeout("checkTime();",50);

var temp_time=parseInt((new Date().getTime() - then_time)/1000);

document.getElementById("current_video_time").value=parseTime(temp_time);

}

}

// 改变播放地址

function changeNewBeginTime(){

// vlc.input.time 获取当前播放时间(毫秒)/也可重设当前播放时间点

var jumpTime=document.getElementById("change_length").value;

if(jumpTime!=""){

if(jumpTime>videoLength){

alert("对不起,输入值大于视频总时长...");

return;

}

vlc.input.time=jumpTime*1000;

then_time=new Date()-jumpTime*1000;

}

}

// 把秒转换为时间格式(HH:mm:ss)

function parseTime(numLength){

var h_time=0;

var m_time=0;

var s_time=0;

if(numLength>=60){

m_time=parseInt(numLength/60);

s_time=parseInt(numLength%60);

}else{

s_time=numLength;

}

if(m_time>=60){

h_time=parseInt(m_time/60);

m_time=parseInt(m_time%60);

}

if(h_time<10){

h_time="0"+h_time;

}

if(m_time<10){

m_time="0"+m_time;

}

if(s_time<10){

s_time="0"+s_time;

}

return h_time+":"+m_time+":"+s_time;

}

// 停止播放

function stopPlay(){

vlc.playlist.stop();

isPlaying=0;

// 修改播放/停止按钮状态

document.getElementById("play_button").disabled=false;

document.getElementById("stop_button").disabled=true;

// 修改跳转按钮的状态

document.getElementById("change_length").value="";

document.getElementById("time_change").disabled=true;

// 当前视频播放时间点清空

document.getElementById("current_video_time").value="";

}

// 重新播放

function repeatPlay(){

vlc.playlist.play();

setTimeout(checkVedioStatus,500);

// 修改播放/停止按钮状态

document.getElementById("play_button").disabled=true;

document.getElementById("stop_button").disabled=false;

}

// 静音

function noSound(){

if(vlcSound>0){

vlcSound=0;

}

vlc.audio.toggleMute();

vlcSound=vlc.audio.volume;

document.getElementById("vlc_sound").value=vlcSound;

if(vlcSound==0){

// document.getElementById("no_sound").value=" 恢复音量 ";

document.getElementById("no_sound").value=" "+"恢复音量"+" ";

}else{

// document.getElementById("no_sound").value=" 静    音 ";

document.getElementById("no_sound").value=" "+"静"+" "+"音"+" ";

}

}

// 音量加减

function soundChange(nums){

if(nums<0 && vlcSound==0){

alert("音量最小,不能再减少音量....");

return;

}

vlcSound+=nums;

if(vlcSound<=0){

vlcSound=0;

document.getElementById("no_sound").value=" "+"恢复音量"+" ";

}else{

// 当音量>0的时候,都要把静音的标识打开

document.getElementById("no_sound").value=" "+"静"+" "+"音"+" ";

}

if(vlcSound>200){

alert("音量最大,不能再增大音量....");

vlcSound=200;

}

vlc.audio.volume =vlcSound;

document.getElementById("vlc_sound").value=vlcSound;

}

//全屏

function screenFull(){

vlc.video.toggleFullscreen()

}

音量:

总时长:

跳转:

vlc web 登录账号_使用VLC Activex插件做网页版视频播放器相关推荐

  1. vlc web 登录账号_怎么在web网页端解绑敬业签绑定的手机号?

    支持手机电脑多端同步的便签软件敬业签可以用来记录备忘事项,同时针对记录的备忘事项可设置时间提醒.在使用敬业便签时,为了确保数据的安全,以及在日后使用时方便找回账号密码,可以将便签账户和手机号绑定在一起 ...

  2. vlc web 登录账号_最简单的VLC网页播放器

    我们用VLC播放器安装VLC的active插件后,默认情况下两个版本的插件都会安装 版本1的类ID是E23FE9C6-778E-49D4-B537-38FCDE4887D8 版本2的类ID是9BE31 ...

  3. 显卡升级为啥总显示登录账号_分享买到QQ后应该注意什么,怎么检测买到手QQ的重要属性?如何保证购买的游戏账号不被找回?...

    相信在知乎的小伙伴和朋友们一般大多数都会有自己心仪的QQ,但又不是自己的,想拥有的多数的人就只能买了,现在要想Q买最好一定还是买二代转手机的,不是老手不建议弄无保Q,,然后我分享下我交易号码的经验,就 ...

  4. java8 垃圾收集_面试官:怎么做JDK8的垃圾收集器的调优(面试常问)

    看着面试官真诚的眼神,心中暗想看起来年纪轻轻却提出如此直击灵魂的问题.擦了擦额头上汗,我稍微调整了一下紧张的情绪,对面试官说: 在jdk8中有serial收集器.parallel收集器.cms收集器. ...

  5. LINE登录手机后怎样更换别个账号_手机号注销前要做哪些才能避免损失?

    很多人不用了的手机号,会选择直接丢掉或者注销了,但其实没那么简单,一不小心可能会影响你的财产安全! 我们在将自身手机号进行注销后,只是解除了你与手机号的所属关系,但是你在使用该号码期间注册或者绑定的银 ...

  6. 显卡升级为啥总显示登录账号_苹果史上最重大更新,iOS13、iPadOS全放出,必须升级...

    就在几小时前,苹果举行了 WWDC 开发者大会.在这场大会上,苹果发布了一系列革命性的系统更新. (库克:Thank you ) 全新的系统让苹果的生态连接更加紧密,产品功能更加强大. 具体都有哪些升 ...

  7. 显卡升级为啥总显示登录账号_科技让生活更美好:游戏画质更好,显卡资源消耗更少...

    一. 前言 蘑菇之前一直都认为,既然想要玩游戏,那肯定就是追求流畅,既然想要流畅,除了升级显卡之外,还可以选择一台1080P的电竞显示器.分辨率的降低,对于游戏帧数的提升,比升级显卡还明显,这也是蘑菇 ...

  8. java开发微信如何维护登录状态_微信小程序中做用户登录与登录态维护的实现详解...

    总结 大家都知道,在开发中提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户 ...

  9. python实现qq登录界面_使用Python编写一个QQ办公版的图形登录界面!

    最近,QQ的办公版本--TIM进行了一次更新升级.本次更新升级大幅修改了界面的样式,看起来更加的清爽.简洁和高效了. 这种界面州的先生还是比较喜欢的,没有QQ那么花里胡哨,也比微信那些残缺的功能更加丰 ...

最新文章

  1. MySQL innodb_autoinc_lock_mode 详解
  2. FPGA之道(60)时空变换之空域优化
  3. NeurIPS 2019放榜:华人作者贡献42%,谷歌170篇屠榜;国内清华第一,腾讯领衔产业界...
  4. 源码|批量执行invokeAll()多选一invokeAny()
  5. linux发邮件安装什么意思,linux – 如何找出安装/发送电子邮件的邮件程序?
  6. 广工计算机专业离散数学考试题,广工华立2014年离散数学期末考试试题(配答案)...
  7. 要找工作了,拿什么拯救你——我的能力
  8. python拼接字符串的方法_python—字符串拼接三种方法
  9. python3爬虫学习笔记
  10. 【CF#459 A 】Pashmak and Garden (水题)
  11. 【代码收集】提前载入贴图
  12. 线性代数的本质(干货!)
  13. html5学习笔记(section)
  14. java md5加密32位小写_java md5加密 32位 小写
  15. HiveSQL正则表达式的应用
  16. 腾讯云白piao指南
  17. google输入法 日文 [CapsLock]キー ひらがな⇔直接入力の設定
  18. 全面解析软文营销中的八大技巧
  19. android 系统源码分析
  20. 移动端对比后端逐渐“式微”?在互联网大环境下如何避免久当生锈的”螺丝钉”去成为一个优秀的Android开发者?

热门文章

  1. 江南大学计算机科学复试题目,2019江南大学计算机考研初试科目、参考书目、复试线...
  2. SCRIPT1004: 缺少 ‘;‘IE8浏览器报错
  3. yum安装报错:ImportError: No module named urlgrabber.grabber
  4. 爬虫工具 AppCrawler
  5. 使用串口发送实现ACX720开发板时钟显示
  6. 6个杰出的国产APP推荐,你知道多少呢?
  7. 程序员的岗位路线规划,不止是编程?
  8. 在线电子书阅读微信小程序 毕业设计(4)图书详细页-图书目录
  9. 上传微信小程序项目到Github
  10. 转《胡侃学习(理论)计算机》的心得