WPF封装VLC播放器控件(方式二:VlcVideoSourceProvider绑定Image控件)

2023-10-29

之前写过一篇文章关于WPF利用VLCPlayer控制Winform窗体句柄封装的视频播放器(链接:https://blog.csdn.net/dnazhd/article/details/102476134),这里换一种方式重写一下视频播放器控件,采用VlcVideoSourceProvider绑定Image控件。

实现步骤:

1、添加对VLC控件的引用

2、UCVlcPlayer窗体xaml

将方式一中的winform控件:

<WindowsFormsHost Grid.Row="0" Name="playerForm" Background="Transparent">
    <WinFormControls:Panel x:Name="panelFormControl"></WinFormControls:Panel>
</WindowsFormsHost>

修改为:

<Image x:Name="VideoImg" Grid.Row="0" Stretch="Fill" VerticalAlignment="Center" HorizontalAlignment="Center"></Image>

3、交互逻辑

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
using System.Windows.Media.Imaging;
using Vlc.DotNet.Wpf;

namespace VlcPlayerWPFDemo
{
    /// <summary>
    /// UCVlcPlayer.xaml 的交互逻辑
    /// </summary>
    public partial class UCVlcPlayer : UserControl
    {
        private volatile bool m_isDrag;
        private string filePath = "";
        private double acWidth = 600;
        private double acHeight = 440;
        private double fullWidth = 600;
        private double fullHeight = 440;
        private VlcVideoSourceProvider sourceProvider;

        publi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF封装VLC播放器控件(方式二:VlcVideoSourceProvider绑定Image控件) 的相关文章

  • 在 WPF 中创建一个漂亮的 GUI

    我需要创建一个桌面 CAD 应用程序 它本质上应该有一个漂亮的现代 GUI 我正在考虑创建一个 WPF 应用程序 以便拥有丰富的用户界面 有人能给我推荐一个设计良好的 WPF 桌面应用程序 GUI 框架吗 我在这个视频中发现了一些很酷的 G
  • 如何将 RelayCommand(MVVM) 绑定到 RoutedCommand? (命令绑定)

    我想创建 CommandBinding 的自定义类 其中在执行 RoutedCommand 时执行我的 ViewModel 的 RelayCommand 目前只能创建在代码隐 藏类中具有 Executed 方法的 CommandBindin
  • MVVM 中模型的职责是什么?

    我一直对 模型 应该或不应该包含什么感到有点困惑 教程和示例经常相互矛盾 到目前为止 我一直在谨慎行事 我的模型只暴露 UI 内容 例如用于绑定到视图的属性以及验证逻辑 但是模型中包含其他业务逻辑是否可以接受 假设我想通过网络服务控制机械泵
  • WPF C# 获取TreeView的根节点

    我有一个通过 HierarchicalDataTemplate 绑定的 TreeView
  • C# 线程安全(特别是 MVVM/WPF)

    我想知道我需要做什么才能使模型在 MVVM 中线程安全 假设我有以下类 它被实例化为单例 public class RunningTotal INotifyPropertyChange private int total public in
  • WPF 数据绑定 - 对于具有验证规则的所有绑定,将 NotifyOnValidationError 设置为 true

    在我的 WPF 应用程序中 我想设置NotifyOnValidationError to true 框架默认为 false 对于所有子控件 绑定 如果它们有任何附加到绑定的 ValidationRules 事实上 最好也指定其他绑定默认值
  • StockTrader RI > 控制器、演示者,WTF?

    我目前正在学习如何通过 Prism 复合 WPF 项目高级使用 WPF 我观看了很多视频和示例 演示应用程序 StockTraderRI 让我提出了这个问题 以下各部分的具体作用是什么 SomethingService 好的 这是管理数据的
  • 如何动态更改 WPF 中 DataGridTextColumn 绑定上的转换器?

    我真的不明白 WPF 和 XAML 并且继承了一些写得很糟糕的代码 所以我可能会扼杀它 但这里是 我继承了一个绑定到 Person 对象列表 在代码后面 的 DataGrid 其中必要的 DataGridTextColumn 在 XAML
  • 上传大型 xml 到 WCF REST 服务 -> 400 错误请求

    我一直在尝试寻找这个错误 但到目前为止还没有运气 所以我的客户端上有一个带有此 web config 的服务
  • 从 WPF 窗口中删除图标

    我可以使用 WinApi 从 WPF 窗口中删除窗口图标 但是当我仅运行 WPF 项目的可执行文件时 我会在应用程序窗口中再次获得该图标 如何删除该图标 From WPF教程 http www wpftutorial net RemoveI
  • WPF 位图到图像的转换仅显示黑色图像

    我确实在以 wpf Image 形式显示图像 uEye Cam 时遇到一些问题 显示的 图像全黑 下面是我使用的代码 Get Cam Bitmap Image var cam new uEye Camera cam Init cam Mem
  • 破译哪个控件触发了事件

    我有一个包含许多图像的应用程序 这些图像看起来都相同并执行类似的任务
  • WPF:名称空间中不存在该名称[重复]

    这个问题在这里已经有答案了 我正在使用 VS2013 构建 C WPF 应用程序 并且具有以下类定义 在正在运行的应用程序的同一程序集中 namespace MyNamespace public class MyKey public MyK
  • DataGrid 是 WPF 中的必需品吗?

    我看到很多讨论正在进行 人们询问 WPF 的 DataGrid 并抱怨 Microsoft 迄今为止还没有在其 WPF 框架中提供 DataGrid 我们知道 WPF 是一项出色的 UI 技术 并且具有 ItemsControl DataT
  • 如何为 WPF 工具包图表提供样式

    我在 WPF 应用程序中使用 WPF Toolkit Chart 和 PieChart 我想将饼图图片中的默认白色背景更改为透明 如何提供风格来实现这一目标 WPF 旨在允许您通过 XAML 设置控件样式 不是代码 还可以通过样式使饼图中的
  • Wpf ScrollViewer 滚动量

    是否可以更改 WPF ScrollViewer 滚动的量 我只是想知道是否可以更改滚动查看器 以便在使用鼠标滚轮或滚动查看器箭头时可以更改增量滚动量 简短的答案是 如果不编写一些自定义滚动代码 就无法做到这一点 但不要让这吓到你 这并不那么
  • 设置不可调整大小的 GridViewColumn

    我在 C WPF 应用程序中使用 ListView 和 GridViewColumn 对于某些列 我使用可见性管理器 this one https stackoverflow com a 9634769 6479770 但是 当第 1 列和
  • 打印 WPF 位图图像

    打印位图图像的最佳方法是什么 我有 System Drawing 背景 所以我正在考虑将其转换为位图 然后打印它 但我认为可能有更好的方法 Thanks 根据 Drew 的回答 最好测量并安排传递给 PrintVisual 方法的容器 这将
  • wpf C# 中的内存泄漏

    我正在使用 GalaSoft MvvmLight 套件和 WPF Toolkit 开发 WPF MVVM v3 5 中 应用程序DataGrid and DatePicker 但是 每次加载应用程序时 我都会面临应用程序中的大量内存泄漏Us
  • 如何让窗口最大化时所有控件按比例调整大小?

    当我单击最大化按钮时 窗口最大化 但控件未按比例调整大小 使控件相应调整大小的最佳方法是什么 我正在使用MVVM 这是我的代码

随机推荐