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播放控制

相关推荐
dalong107 小时前
WPF:Modbus 状态监控
wpf·modbus
He BianGu1 天前
【WPF-VisionMaster】机器视觉通用平台V5.0版本发行说明
opencv·c#·wpf·halcon·机器视觉·visionmaster
fogota4 天前
Emoji与Segoe MDL2 Assets的比较
c#·wpf
fogota4 天前
C# WPF 按钮加载字体图标 / 动物头像
c#·.net·wpf
fogota4 天前
C# WPF 按钮加载系统图标 / 动物头像
c#·.net·wpf
军训猫猫头4 天前
C# 封装 MySQL 自动写入与查询工具类(基于 MySqlConnector)
mysql·c#·.net·wpf
gis开发之家5 天前
Spring Boot 4 定时任务与异步线程池:从 @Scheduled 到高并发任务编排(生产级实战)
java·spring boot·后端·wpf·spring boot4
clz13145216 天前
如何设计一个优雅可靠的金融级联机接口
wpf
闲云自留地7 天前
云平台存储管理员:Cinder 创建挂载卷 + Swift 分布式存储原理
分布式·wpf·swift
敲代码的嘎仔8 天前
从集群锁失效到异步领券:我用分布式锁 + Redisson + MQ 把领券接口 RT 从 200ms 压到 15ms
java·数据库·redis·分布式·缓存·ai·wpf