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

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

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

实现LibVLC播放器播放控制

界面

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

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

在这里插入图片描述

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

 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.播放

 _player.Play();

2.停止

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

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

 _player.Stop();

3.暂停

Pause和SetPause都能实现暂停

 _player.Pause();
 _player.SetPause(true);

4.播放状态

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

 if (_player.IsPlaying)
 {
   
 }

实现按钮播放控制

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

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

教程:

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


http://www.kler.cn/a/421087.html

相关文章:

  • c++预编译头文件
  • 力扣hot100道【贪心算法后续解题方法心得】(三)
  • 红日靶场vulnstark 2靶机的测试报告
  • ChatGPT和BERT区别和联系
  • THENA大涨将对整个DeFi市场产生怎样的影响?
  • SpringBoot(一)
  • 微分方程的叠加定理
  • mx linux 在konsole终端中无法输入中文的解决方法
  • Mysql语句分类与如何编写
  • 网络安全框架及模型-PPDR模型
  • PyTorch的基础结构和概念
  • 【Android Debug Bridge】adb常用指令(更新中)
  • Redis和MySQL之间如何进行数据同步
  • git命令-基本使用
  • 高性能的热电偶测温如何设计?
  • 【WRF-Urban】城市冠层参数UCPs导入WPS/WRF中
  • Kibana server is not ready yet
  • 基于MyBatis的关联查询优化与应用实践
  • 新品发布 | TOSUN正式推出GPS转CAN FD模块产品,为自动驾驶提供数据支持
  • Web开发 ,用Python 还是 Node.js? 我的经验是...
  • 第六届金盾信安杯Web题解
  • COMBINING INDUCTION AND TRANSDUCTION FOR ABSTRACT REASONING 论文阅读报告
  • 「Mac畅玩鸿蒙与硬件36」UI互动应用篇13 - 数字滚动抽奖器
  • 【Redis】Redis Set 集合常见命令, 内部编码以及使用场景介绍
  • 【C++】双温度转换与并联电阻计算的编程题分析与优化
  • K8S集群的高可用性(HA)架构如何设计