ToB企服应用市场:ToB评测及商务社交产业平台

标题: WPF+LibVLC开辟播放器-播放时间显示 [打印本页]

作者: 王海鱼    时间: 2024-12-5 08:20
标题: WPF+LibVLC开辟播放器-播放时间显示
界面

增加一个TextBlock用于时间显示
  1. <TextBlock
  2.     Name="TimeText"
  3.     Grid.Row="1"
  4.     Margin="131,0,0,9"
  5.     HorizontalAlignment="Left"
  6.     VerticalAlignment="Bottom"
  7.     Text="TextBlock"
  8.     TextWrapping="Wrap" />
复制代码

代码

给MediaPlayer增加一个时间变化事件TimeChanged
  1. public partial class MainWindow : Window
  2. {
  3.     private LibVLC _libVLC;
  4.     private MediaPlayer _player;
  5.     public MainWindow()
  6.     {
  7.         InitializeComponent();
  8.         Core.Initialize();
  9.         _libVLC = new LibVLC();
  10.         _player = new MediaPlayer(_libVLC);
  11.         //时间变化事件
  12.         _player.TimeChanged += Player_TimeChanged;
  13.         
  14.         videoView.MediaPlayer = _player;
  15.       
  16.     }
  17.    
  18. }
  19. private void Player_TimeChanged(object? sender, MediaPlayerTimeChangedEventArgs e)
  20. {
  21. }
复制代码
相关属性介绍

实现

通过TimeSpan.FromMilliseconds对time和length属性进行转换,然后转成对应的string格式
需要注意的是这个事件是线程中调用,修改控件需要跨线程调用,需要this.Dispatcher.Invoke来处置惩罚
  1. private void Player_TimeChanged(object? sender, MediaPlayerTimeChangedEventArgs e)
  2. {
  3.    Dispatcher.Invoke(
  4.        new Action(() =>
  5.        {
  6.       TimeText.Text =
  7.            TimeSpan.FromMilliseconds(_player.Time).ToString(@"hh\:mm\:ss")
  8.            + "/"
  9.            + TimeSpan.FromMilliseconds(_player.Length).ToString(@"hh\:mm\:ss");//总长
  10.            
  11.        })
  12.    );
  13. }
复制代码
实现效果


视频教程


     WPF+LibVLC开辟播放器-时间进度显示
  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4