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

Avalonia 播放 VLC 视频(Windows / Linux)

【演示效果】

一、开发步骤

1. 版本与引用类库

Avalonia 版本:11.0.11

Windows上只需要安装以下类库:

LibVLCSharp 3.8.5

LibVLCSharp.Avalonia 3.8.5

VideoLAN.LibVLC.Windows 3.0.20

 引用截图:

 2. 前端代码
<UserControl xmlns="https://github.com/avaloniaui"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:oc="http://ordinary.controls"xmlns:vlc="clr-namespace:LibVLCSharp.Avalonia;assembly=LibVLCSharp.Avalonia"mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"x:Class="Client.Views.UC_VideoController"><Grid RowDefinitions="*,65"><!--视频--><vlc:VideoView Grid.Row="0" Name="vv" /><!--视频相关信息,提示用户视频是否存在等--><TextBlock x:Name="txt_VideoMsg" Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Center"Foreground="{StaticResource primary}" FontWeight="Bold" FontSize="22" /><!--视频控制器--><Grid Grid.Row="1"><Grid.RowDefinitions><RowDefinition Height="20"/><RowDefinition Height="45" /></Grid.RowDefinitions><Border Grid.Row="0"><Slider Name="slider_progress" Opacity="0.5" VerticalAlignment="Center" Margin="5 0" /></Border><Border Grid.Row="1" BorderBrush="{StaticResource primary}" BorderThickness="0 1 0 0" Padding="10 0"><StackPanel x:Name="sp_VideoCtlBar" Orientation="Horizontal"><StackPanel Orientation="Horizontal"  HorizontalAlignment="Left" VerticalAlignment="Center" ><oc:NormalButton Classes="CtlPlayerBtn" Name="btn_Prev" Text="上一帧" Icon="square-caret-left"/><oc:NormalButton Classes="CtlPlayerBtn" Name="btn_Play" Text="播放" Icon="play"/><oc:NormalButton Classes="CtlPlayerBtn" Name="btn_Next" Text="下一帧" Icon="square-caret-right"/><oc:NormalButton Classes="CtlPlayerBtn" Name="btn_Capture" Text="截图" Icon="image"/></StackPanel></StackPanel></Border></Grid></Grid>
</UserControl>

注1:经过测试,VideoView 在当前版本中不能放在Window下,需要放在UserControl中。直接放在Windo

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 知识竞赛活动中的一些新颖特殊的赛制
  • 推荐4款2024年专业的电脑远程控制软件。
  • web会话跟踪-token令牌与路由守卫
  • 在 Debian 上安装 IntelliJ IDEA 笔记(含 JDK 的安装)
  • 中秋节适合买什么东西?精选五款实用又有意义的中秋好物推荐
  • SQL 注入之 sqlmap 实战
  • JavaScript进阶指南之Event Loop
  • Django缓存设置
  • SpringBoot+Vue的图书管理系统【包含运行步骤】
  • 【DSP+FPGA】基于2 个TMS320C6678+ XC7VX690T FPGA 的6U VPX 总线架构的高性能实时信号处理平台
  • 阿里重磅开源超强AI模型Qwen2-VL:能理解超 20 分钟视频!
  • 第二证券:白酒股,全线飘红
  • css设置三个div宽度占据三分之一
  • spring security 记住我在web和前后端分离如何使用
  • 【ShuQiHere】重新定义Linux桌面生态:Gnome-Pie与Touché的双剑合璧
  • 分享一款快速APP功能测试工具
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • CentOS6 编译安装 redis-3.2.3
  • Computed property XXX was assigned to but it has no setter
  • ES6 ...操作符
  • Java方法详解
  • Leetcode 27 Remove Element
  • leetcode讲解--894. All Possible Full Binary Trees
  • React中的“虫洞”——Context
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 聊聊hikari连接池的leakDetectionThreshold
  • 前端js -- this指向总结。
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 如何胜任知名企业的商业数据分析师?
  • 如何使用 JavaScript 解析 URL
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​​​【收录 Hello 算法】9.4 小结
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • #Linux(权限管理)
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Oracle)SQL优化技巧(一):分页查询
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (超详细)语音信号处理之特征提取
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (十三)MipMap
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四) Graphivz 颜色选择
  • (算法二)滑动窗口
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (转)scrum常见工具列表
  • (转)Windows2003安全设置/维护
  • (转)甲方乙方——赵民谈找工作
  • (自用)仿写程序
  • .net core 的缓存方案