vlc web 登录账号_使用VLC Activex插件做网页版视频播放器
网上找的一个小例子,包括时长播放时间等等都有。
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插件做网页版视频播放器相关推荐
- vlc web 登录账号_怎么在web网页端解绑敬业签绑定的手机号?
支持手机电脑多端同步的便签软件敬业签可以用来记录备忘事项,同时针对记录的备忘事项可设置时间提醒.在使用敬业便签时,为了确保数据的安全,以及在日后使用时方便找回账号密码,可以将便签账户和手机号绑定在一起 ...
- vlc web 登录账号_最简单的VLC网页播放器
我们用VLC播放器安装VLC的active插件后,默认情况下两个版本的插件都会安装 版本1的类ID是E23FE9C6-778E-49D4-B537-38FCDE4887D8 版本2的类ID是9BE31 ...
- 显卡升级为啥总显示登录账号_分享买到QQ后应该注意什么,怎么检测买到手QQ的重要属性?如何保证购买的游戏账号不被找回?...
相信在知乎的小伙伴和朋友们一般大多数都会有自己心仪的QQ,但又不是自己的,想拥有的多数的人就只能买了,现在要想Q买最好一定还是买二代转手机的,不是老手不建议弄无保Q,,然后我分享下我交易号码的经验,就 ...
- java8 垃圾收集_面试官:怎么做JDK8的垃圾收集器的调优(面试常问)
看着面试官真诚的眼神,心中暗想看起来年纪轻轻却提出如此直击灵魂的问题.擦了擦额头上汗,我稍微调整了一下紧张的情绪,对面试官说: 在jdk8中有serial收集器.parallel收集器.cms收集器. ...
- LINE登录手机后怎样更换别个账号_手机号注销前要做哪些才能避免损失?
很多人不用了的手机号,会选择直接丢掉或者注销了,但其实没那么简单,一不小心可能会影响你的财产安全! 我们在将自身手机号进行注销后,只是解除了你与手机号的所属关系,但是你在使用该号码期间注册或者绑定的银 ...
- 显卡升级为啥总显示登录账号_苹果史上最重大更新,iOS13、iPadOS全放出,必须升级...
就在几小时前,苹果举行了 WWDC 开发者大会.在这场大会上,苹果发布了一系列革命性的系统更新. (库克:Thank you ) 全新的系统让苹果的生态连接更加紧密,产品功能更加强大. 具体都有哪些升 ...
- 显卡升级为啥总显示登录账号_科技让生活更美好:游戏画质更好,显卡资源消耗更少...
一. 前言 蘑菇之前一直都认为,既然想要玩游戏,那肯定就是追求流畅,既然想要流畅,除了升级显卡之外,还可以选择一台1080P的电竞显示器.分辨率的降低,对于游戏帧数的提升,比升级显卡还明显,这也是蘑菇 ...
- java开发微信如何维护登录状态_微信小程序中做用户登录与登录态维护的实现详解...
总结 大家都知道,在开发中提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户 ...
- python实现qq登录界面_使用Python编写一个QQ办公版的图形登录界面!
最近,QQ的办公版本--TIM进行了一次更新升级.本次更新升级大幅修改了界面的样式,看起来更加的清爽.简洁和高效了. 这种界面州的先生还是比较喜欢的,没有QQ那么花里胡哨,也比微信那些残缺的功能更加丰 ...
最新文章
- MySQL innodb_autoinc_lock_mode 详解
- FPGA之道(60)时空变换之空域优化
- NeurIPS 2019放榜:华人作者贡献42%,谷歌170篇屠榜;国内清华第一,腾讯领衔产业界...
- 源码|批量执行invokeAll()多选一invokeAny()
- linux发邮件安装什么意思,linux – 如何找出安装/发送电子邮件的邮件程序?
- 广工计算机专业离散数学考试题,广工华立2014年离散数学期末考试试题(配答案)...
- 要找工作了,拿什么拯救你——我的能力
- python拼接字符串的方法_python—字符串拼接三种方法
- python3爬虫学习笔记
- 【CF#459 A 】Pashmak and Garden (水题)
- 【代码收集】提前载入贴图
- 线性代数的本质(干货!)
- html5学习笔记(section)
- java md5加密32位小写_java md5加密 32位 小写
- HiveSQL正则表达式的应用
- 腾讯云白piao指南
- google输入法 日文 [CapsLock]キー ひらがな⇔直接入力の設定
- 全面解析软文营销中的八大技巧
- android 系统源码分析
- 移动端对比后端逐渐“式微”?在互联网大环境下如何避免久当生锈的”螺丝钉”去成为一个优秀的Android开发者?
热门文章
- 江南大学计算机科学复试题目,2019江南大学计算机考研初试科目、参考书目、复试线...
- SCRIPT1004: 缺少 ‘;‘IE8浏览器报错
- yum安装报错:ImportError: No module named urlgrabber.grabber
- 爬虫工具 AppCrawler
- 使用串口发送实现ACX720开发板时钟显示
- 6个杰出的国产APP推荐,你知道多少呢?
- 程序员的岗位路线规划,不止是编程?
- 在线电子书阅读微信小程序 毕业设计(4)图书详细页-图书目录
- 上传微信小程序项目到Github
- 转《胡侃学习(理论)计算机》的心得