WPF+LibVLC开发播放器-LibVLC播放控制

接上一篇:
LibVLC在C#中的使用

实现LibVLC播放器播放控制

界面

界面上添加一个Button按钮用于控制播放

xml 复制代码
     <Button
         Grid.Row="1"
         Width="88"
         Height="24"
         Margin="10,0,0,0"
         HorizontalAlignment="Left"
         VerticalAlignment="Bottom"
         Click="Button_Click"
         Content="播放" />

前面已有初始化加载播放和视频文件加载的代码

csharp 复制代码
 private LibVLC _libVLC;

 private MediaPlayer _player;

 public MainWindow()
 {
     InitializeComponent();
     Core.Initialize();
     _libVLC = new LibVLC();
     _player = new MediaPlayer(_libVLC);
     videoView.MediaPlayer = _player;

 }
 
   private void Window_Loaded(object sender, RoutedEventArgs e)
  {
      FileStream fileStream = new FileStream("F:\\Test\\test.mp4", FileMode.Open);
      Media media = new Media(_libVLC, new StreamMediaInput(fileStream));
      _player.Media = media;
      _player.Play();
  }

播放控制方法

主要是对_player也就是videoView.MediaPlayer播放器里的MediaPlayer进行控制

1.播放

csharp 复制代码
 _player.Play();

2.停止

停止播放,是视频完全停止,进度回到一开始

停止之后再播放就从头开始播放

csharp 复制代码
 _player.Stop();

3.暂停

Pause和SetPause都能实现暂停

csharp 复制代码
 _player.Pause();
 _player.SetPause(true);

4.播放状态

通过IsPlaying 属性获取当前播放状态

csharp 复制代码
 if (_player.IsPlaying)
 {
   
 }

实现按钮播放控制

在button事件中实现播放控制,根据当前状态来暂停和播放

csharp 复制代码
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (_player.IsPlaying)
            {
                _player.Pause();
            }
            else
            {
                _player.Play();
            }
        }

教程:

WPF+LibVLC开发播放器-LibVLC播放控制

相关推荐
没有bug.的程序员17 小时前
SOA、微服务、分布式系统的区别与联系
java·jvm·微服务·架构·wpf·日志·gc
Macbethad18 小时前
基于WPF的半导体设备配方管理程序技术方案
wpf
FuckPatience18 小时前
WPF Geometry
wpf
武藤一雄2 天前
.NET 中常见计时器大全
microsoft·微软·c#·.net·wpf·.netcore
MarkHD2 天前
车辆TBOX科普 第70次 AUTOSAR Adaptive、容器化与云原生的融合革命
云原生·wpf
极客智造2 天前
WPF Behavior 实战:自定义 InvokeCommandAction 实现事件与命令解耦
wpf
L、2182 天前
Flutter 与 OpenHarmony 深度集成:构建分布式多端协同应用
分布式·flutter·wpf
布伦鸽2 天前
C# WPF -MaterialDesignTheme 找不到资源“xxx“问题记录
开发语言·c#·wpf
小二·2 天前
MyBatis基础入门《十五》分布式事务实战:Seata + MyBatis 实现跨服务数据一致性
分布式·wpf·mybatis
helloworddm3 天前
UnregisterManyAsync
wpf