ToB企服应用市场:ToB评测及商务社交产业平台
标题:
WPF+LibVLC开辟播放器-播放时间显示
[打印本页]
作者:
王海鱼
时间:
2024-12-5 08:20
标题:
WPF+LibVLC开辟播放器-播放时间显示
界面
增加一个TextBlock用于时间显示
<TextBlock
Name="TimeText"
Grid.Row="1"
Margin="131,0,0,9"
HorizontalAlignment="Left"
VerticalAlignment="Bottom"
Text="TextBlock"
TextWrapping="Wrap" />
复制代码
代码
给MediaPlayer增加一个时间变化事件TimeChanged
public partial class MainWindow : Window
{
private LibVLC _libVLC;
private MediaPlayer _player;
public MainWindow()
{
InitializeComponent();
Core.Initialize();
_libVLC = new LibVLC();
_player = new MediaPlayer(_libVLC);
//时间变化事件
_player.TimeChanged += Player_TimeChanged;
videoView.MediaPlayer = _player;
}
}
private void Player_TimeChanged(object? sender, MediaPlayerTimeChangedEventArgs e)
{
}
复制代码
相关属性介绍
Time属性,获取当前播放时间
类型:long
单位:ms
设置Time属性可以修改当前播放进度
Length属性,当前视频总的时长
类型:long
单位:ms
只读
实现
通过TimeSpan.FromMilliseconds对time和length属性进行转换,然后转成对应的string格式
需要注意的是这个事件是线程中调用,修改控件需要跨线程调用,需要this.Dispatcher.Invoke来处置惩罚
private void Player_TimeChanged(object? sender, MediaPlayerTimeChangedEventArgs e)
{
Dispatcher.Invoke(
new Action(() =>
{
TimeText.Text =
TimeSpan.FromMilliseconds(_player.Time).ToString(@"hh\:mm\:ss")
+ "/"
+ TimeSpan.FromMilliseconds(_player.Length).ToString(@"hh\:mm\:ss");//总长
})
);
}
复制代码
实现效果
视频教程
WPF+LibVLC开辟播放器-时间进度显示
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4