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

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

背景

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

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

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.xdnf.cn/news/704233.html

相关文章:

  • 测试Bug篇
  • Flutter GridView网格组件
  • 测试概念 和 bug
  • 003 flutter初始文件讲解(2)
  • 使用 Flutter 开发 App 时,想要根据 Figma 设计稿开发出响应式 UI 界面
  • 基于python脚本进行Maxwell自动化仿真
  • 代码随想录算法训练营第五十三天
  • Oracle/openGauss中,DATE/TIMESTAMP与数字日期/字符日期比较
  • 计算机网络之差错控制中的 CRC(循环冗余校验码)
  • 软件工程 3.0:智能驱动的软件新时代
  • LVS+Keepalived高可用集群
  • Nat Commun项目文章 ▏小麦CUTTag助力解析转录因子TaTCP6调控小麦氮磷高效利用机制
  • LVS + Keepalived 高可用群集
  • Redis Stack常见拓展
  • K6 是什么
  • ubuntu24 安装MongoDB-6.0.24 数据库操作步骤和配置参数说明
  • QuickBASIC QB64 支持 64 位系统和跨平台Linux/MAC OS
  • 使用Redisson实现分布式锁发现的【订阅超时】Subscribe timeout: (7500ms)
  • AI绘画:Stable Diffusion从入门到精通(系列教程)
  • ONLYOFFICE文档API:编辑器的品牌定制化
  • 算法训练第二天
  • 【AI智能体】Coze 插件从使用到实战详解
  • 从法律层面剖析危化品证书:两证一证背后的安全逻辑
  • Perforce P4产品简介:无限扩展+全球协作+安全管控+工具集成(附下载)
  • Android 异步编程中协程的完整实战示例
  • OpenFeign vs MQ:微服务通信如何选型?详解同步与异步的适用场景
  • C++23 std::fstreams基础回顾
  • 【25软考网工】第九章(2)网络管理命令
  • Vue-Router 基础使用
  • 结构性设计模式之Bridge(桥接)