delphi10.2播放视频,使用PasLibVlc_3.0.3.zip第三方控件
第一步安装PasLibVlc_3.0.3.zip
链接:https://pan.baidu.com/s/1xu6YcquYtEIrCbQqC1hwEw
提取码:fYTu
解压之后如图所示

下载好了控件之后选择对应的版本,本实例通过delphi10.2编程实现,选择DelphiXE10文件夹,选择PasLibVlcPlayer.dproj文件打开,

打开项目,在资源区如图所示

鼠标右键点击PasLibVlcPlayer.bpl,先选择bulid,在选择install,实现PasLibVlcPlayer控件安装成功

新建一个项目,在项目中导入PasLibVlc安装目录下两个文件路径,具体如图所示

引用,PasLibVlcPlayerUnit,PasLibVlcUnit, PasLibVlcClassUnit三个单元,在FORM1的private中新增p_li和p_li两个对象,以及播放初始化,播放停止,开始播放,播放结释放函数等四个函数声明,
private
{ Private declarations }
p_li : libvlc_instance_t_ptr;
p_li : libvlc_media_player_t_ptr;
procedure PlayerInit();
procedure PlayerStop();
procedure PlayerPlay(fileName: WideString);
procedure PlayerDestroy();
下面是以上四个函数实现
procedure TForm1.PlayerInit();
begin
// libvlc_dynamic_dll_init_with_path(‘C:\Program Files (x86)\VideoLAN\VLC’);
libvlc_dynamic_dll_init();

if (libvlc_dynamic_dll_error <> ‘’) then
begin
MessageDlg(libvlc_dynamic_dll_error, mtError, [mbOK], 0);
Application.Terminate;
exit;
end;

with TArgcArgs.Create([
libvlc_dynamic_dll_path,
‘–intf=dummy’,
‘–ignore-config’,
‘–quiet’,
‘–no-video-title-show’,
‘–no-video-on-top’
]) do
begin
p_li := libvlc_new(ARGC, ARGS);
Free;
end;

if (p_li <> NIL) then
begin
p_mi := libvlc_media_player_new(p_li);
end;
end;

procedure TForm1.PlayerStop;
begin
if (p_mi <> NIL) then
begin
if (libvlc_media_player_is_playing(p_mi) = 1) then
begin
libvlc_media_player_stop(p_mi);
Sleep(50);
while (libvlc_media_player_is_playing(p_mi) = 1) do
begin
Sleep(50);
end;
end;
libvlc_media_player_release(p_mi);
p_mi := NIL;
Sleep(50);
end;
end;
PlayerPlay函数的参数就是视频文件路径,
libvlc_media_player_set_display_window(p_mi, pl_PlayVedio.Handle);这一行的pl_PlayVedio.Handle就是指定播放视频的位置,pl_PlayVedio是我设置播放视频的一个panel,播放视频可以使用panel,tabsheet,都可以实现播放。
procedure TForm1.PlayerPlay(fileName: WideString);
var
p_md : libvlc_media_t_ptr;
begin
if (p_li <> NIL) then
begin
p_md := libvlc_media_new_path(p_li, PAnsiChar(UTF8Encode(fileName)));
if (p_md <> NIL) then
begin
if (p_mi <> NIL) then
begin
// libvlc_video_set_key_input(p_mi, 1);
// libvlc_video_set_mouse_input(p_mi, 1);
libvlc_media_player_set_display_window(p_mi, pl_PlayVedio.Handle);
libvlc_media_player_set_media(p_mi, p_md);
libvlc_media_player_play(p_mi);
end;
libvlc_media_release(p_md);
end;
end;
end;

procedure TForm1.PlayerDestroy;
begin
if (p_li <> NIL) then
begin
PlayerStop();
libvlc_release(p_li);
p_li := NIL;
end;
libvlc_dynamic_dll_done();
end;

Delphi使用PasLibVlc播放视频相关推荐

  1. Delphi调用LibVLC播放视频,窗口如何响应键盘鼠标的消息?OnClick、OnDblClick、OnMouseMove

    LibVlc使用简单方便,Delphi调用其接口播放视频文件或者网络视频(RTSP.RTMP等各种协议),几行代码就搞定了,实在是制作视频播放器的最佳利器. 不过,调用libvlc_media_pla ...

  2. Android三种播放视频的方式

     分类: Android多媒体(12)  Android应用层(93)  版权声明:本文为博主原创文章,未经博主允许不得转载. 在Android中,我们有三种方式来实现视频的播放: 1.使用其自带的播 ...

  3. OpenCV播放视频-----滚动条随着视频播放移动代码

    学习OpenCV,使用highGUI工具包实现视频的播放控制,使滚动条随着视频播放移动 代码如下: #include "highgui.h" #include "dire ...

  4. win10html5无法播放,win10系统中网页中无法播放视频怎么办

    近日有win10系统用户要通过浏览器来打开网页观看视频的时候,却发现在网页中打开视频的时却无法播放,这是怎么回事呢,经过分析是由于Adobe Flash Player ActiveX插件未安装.版本过 ...

  5. 【Ubuntu】VirtualBox显卡驱动VBoxVGA、VBoxSVGA、VMSVGA +3D对播放视频的影响

    一.VBOXVGA.VMSVGA.VBOXSVGA简述 VBOXVGA和VBOXSVGA是vbox自己的,SVGA比VGA先进一点, VBoxSVGA: 使用Linux或者 Windows 7或者更高 ...

  6. ue4蓝图节点手册中文_在UE4中播放视频

    简介: 在日常使用UE4做项目时,会遇到在UE4里播放视频文件的需求,在UE4中可以使用媒体框架(Media Framework)来实现这一功能.这里介绍两种简单的方法来使用这一功能,分别是在场景里播 ...

  7. 小程序给视频加默认图片封面,点击播放视频并停止播放上一个视频

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 实现的功能: 微信小程序视频组件添加图片封面, 点击图片播放视频, 点击下一个视频的封面图自动停止播放当前视频 ...

  8. 【播放器SDK】Android如何实现固定竖屏播放视频

    安卓的固定竖屏播放并不受手机是否开启旋转的限制,需要用户设置Activity为固定竖屏.目前带皮肤的播放器内部对竖屏播放视频做了一定的支持.用户使用相对比较简单. 带皮肤播放器 参考Demo代码Fix ...

  9. 【WPF】使用控件MediaElement播放视频

    需求是点击按钮后,弹出弹窗播放视频.按钮的点击事件如下. public void ShowVideo() {Window window = new Window();window.Width = 80 ...

最新文章

  1. 下边框_山寨iPhone12Pro开箱:浴霸四摄更小,下边框有点宽
  2. system函数和fork-exec机制
  3. 一文弄懂各种loss function
  4. 安全cookie setSecure详解
  5. KnowIME: A System to Construct a Knowledge Graph for Intelligent Manufacturing Equipment-学习笔记
  6. .NET Core扩展IServiceCollection自动注册服务
  7. I - Trade Gym - 100212I 网络流
  8. in ms sql 集合参数传递_mybatis从入门到精通,第三篇《动态SQL》,干货满满
  9. 消息断点 RUN跟踪
  10. “这辈子不可能打工男子”出狱了,司法所将重点关注,网友:《今瓶没》今日上映!...
  11. 分布式消息中间件中的一些概念(接上一篇的《什么是分布式消息中间件?》)...
  12. 小白设计模式:组合模式
  13. gdpr合规性测试_使用生产数据在GDPR后世界进行测试
  14. 计算机设置定时关机win10,Win10电脑如何设置定时关机?Win10电脑设置定时关机命令...
  15. 计算机术语 谢谢,计算机术语中的TPS是什么意思
  16. Unity3D教程:回合制游戏实现 1
  17. 前端框架,库,组件,插件,控件的理解
  18. android动态毛玻璃,Android模糊处理实现图片毛玻璃效果
  19. CV-CUDA使用gpu读取并处理图片
  20. idea Dmaven.multiModuleProjectDirectory=$M2_HOME报错!!!

热门文章

  1. luci L大_【听寓言】大明白胡萝卜:大力神和马车夫+鹰、寒鸦和牧羊人
  2. 【java】泛型方法的定义
  3. pyecharts库介绍
  4. Java分布式架构, Dubbo面试题汇总
  5. mysql revoke from_Mysql grant to (revoke from)
  6. python_广州房价热力图
  7. 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-基础练习 特殊回文数
  8. Java 快速排序法
  9. 因果图设计测试用例的步骤
  10. 5884. 【NOIP2018模拟A组9.25】蒲公英的约定(瞎搞)