当前位置: 首页 > article >正文

allWebPlugin中间件VLC专用版之录像功能介绍

背景

         VLC控件原有接口是不支持录像的,且libVLC提供的接口库,不能获取录像文件完整名称(VLC-3.0.11 录制直播时有的无法保存视频的解决方法 - 1CM - 博客园);因此,非常的不友好。为了能够彻底解决这个问题,经过技术的攻关,在不修改vlc库的,不重新编译的条件下,实现VLC视频录像功能。

        allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品致力于将浏览器插件重新应用到所有浏览器。它不仅可以实现ActiveX控件在现代浏览器上使用,而且集成也非常方便。

        allWebPlugin中间件VLC专用版内部以包含VLC控件,只需安装一次allWebPlugin中间件,VLC控件不需注册,就可以在Web系统中应用VLC控件。

alWebPlugin中间件核心优势

1、自创定位算法,实现插件与页面布局无缝衔接,极致用户体验
2、自创插件接口调用方法,保持原汁原味的接口调用及事件响应方式,轻松实现OA系统升级改造。
3、支持同一页面或不同页面同时加载多个插件,适应各种复杂应用场景
4、自主创新、安全可控,不受浏览器插件技术限制,支持更多浏览器(谷歌、火狐、Edge、360浏览器等)。
5、创新沙箱机制,隔离插件与浏览器运行环境,增强插件与浏览器稳定性和安全性
6、攻克诸多技术难点,实现插件不修改、不注册也能使用,极大的降低插件开发量和维护量

准备工作

1、下载allWebPlugin中间件产品,具体如下:

百度网盘https://pan.baidu.com/s/1mMCgPHClUAeQUWogU3PXCQ?pwd=1234

录像接口介绍

在playlist对象下,增加startRecord及StopRecord接口,具体如下

bool startRecord(varFilePath)

接口说明:开始录像

参数说明:

        varFilePath  字符串   录像文件存储路径

返 回 值:布尔型   表示录像是否成功。

string stopRecord()

接口说明:停止录像

参数说明:

返 回 值:字符窜   表示录像文件完整路径。

录像接口调用如下: 

function StartRecord(){var playlist = vlcPlugin.playlist();if(playlist){playlist.startRecord("D:\\我的录像");}
}
function  StopRecord(){var playlist = vlcPlugin.playlist();if(playlist){alert(playlist.stopRecord());}
}
存储目录下生成的录像文件

录像事件

为了更好的处理录像业务,VLC控件还新增了录像事件,具体如下:

function MediaPlayerStartRecord(varFilePath)

事件说明:当控件开始录像时,触发MediaPlayerStartRecord事件。

参数说明:

        varFilePath 字符串   录像文件存储目录

function MediaPlayerStopRecord(strFileFullPath)

事件说明:当控件停止录像时,触发MediaPlayerStopRecord事件。

参数说明:

        strFileFullPath 字符串   录像文件完整路径

录像事件简单实现如下:

 <script language="javascript">function MediaPlayerStartRecord(strFilePath){//开始录像事件 strFilePath 录像文件目录console.log("MediaPlayerStartRecord strFilePath = " + strFilePath);}function MediaPlayerStopRecord(strFileFullPath){//结束录像事件 strFileFullPath 录像文件全路径console.log("MediaPlayerStopRecord strFileFullPath = " + strFileFullPath);}</script>

以上详细代码,请查看VLC包vlc.html示例。

原生vlc核心库
原生vlc库
本人维护的vlc控件

http://www.lryc.cn/news/2395642.html

相关文章:

  • Vim 支持多种编程语言编辑器
  • 解决 IDEA 在运行时中文乱码问题
  • Diffusion Planner:扩散模型重塑自动驾驶路径规划(ICLR‘25)
  • 华为OD机试真题——阿里巴巴找黄金宝箱 IV(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • 数据结构:时间复杂度(Time Complexity)和空间复杂度(Space Complexity)
  • CentOS7.9环境离线部署docker和docker-compose的两种方式
  • 北京大学肖臻老师《区块链技术与应用》公开课:06-BTC-网络
  • SSL/TLS 协议详解:安全通信的基石
  • 设计模式——外观设计模式(结构型)
  • Linux `vi/vim` 编辑器深度解析与高阶应用指南
  • ES中must与filter的区别
  • qt之开发大恒usb3.0相机三
  • Transformer架构详解:从Attention到ChatGPT
  • 数据中台(大数据平台)之数据安全管理
  • github双重验证密码忘记或者获取不了了怎么办
  • 告别复杂操作!电脑极简风格计时使用
  • stm32cube ide如何将工具链替换成arm-none-eabi-gcc
  • [STM32问题解决(2)]STM32通过串口与PC通信,打开串口助手后无法在打开状态下下载程序和复位STM32
  • RabbitMQ 与其他 MQ 的对比分析:Kafka/RocketMQ 选型指南(二)
  • OpenHarmony定制系统组合按键(一)
  • ORDER BY子句在一个 SQL 查询中只能出现一次
  • Spring Boot 3 整合 MQ 构建聊天消息存储系统
  • DeepSeek实战:打造智能数据分析与可视化系统
  • 非线性声学计算与强化学习融合框架:突破复杂环境人机交互的新技术
  • C++ - STL #什么是STL #STL的版本 #闭源开源 #STL的六大组件
  • Flutter - 原生交互 - 相机Camera - 01
  • 湖北理元理律师事务所:个人债务管理的温度与精度
  • Compose原理 - 整体架构与主流程
  • 从0开始学vue:实现一个简单页面
  • 在机器视觉测量和机器视觉定位中,棋盘格标定如何影响精度