WPF+LibVLC开发播放器-音量控制和倍速控制

界面

界面上增加音量的控件和倍速控制控件

音量控制

主要也是一个Slider进度条控件来实现音量调节

我们这里设置默认的最大值为100,默认Value值也为100,默认声音开到最大

这里目前完全由前端控制音量调节,可以直接使用ValueChanged事件实现

xml 复制代码
<Slider
    Width="120"
    Margin="0,30,0,0"
    HorizontalAlignment="Center"
    VerticalAlignment="Top"
    Maximum="100"
    ValueChanged="Slider_ValueChanged"
    Value="100" />
<TextBlock
    Margin="280,35,0,6"
    HorizontalAlignment="Left"
    Text="音量"
    TextWrapping="Wrap" />

代码实现

直接实现一下Slider_ValueChanged事件,我们获取下Slider的当前值,将他转换后,赋值给MediaPlayer的Volume 属性

Volume 属性:获取/设置音量百分比,从0-100,0就是静音

csharp 复制代码
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
 if (_player != null)
 {
     var slider = (Slider)sender;
     _player.Volume = Convert.ToInt32(slider.Value);
 }
}

倍速控制

这里主要使用一个ComboBox来添加倍速的选项

通过SelectionChanged事件才触发倍速修改

csharp 复制代码
 <TextBlock
     Margin="508,32,0,0"
     HorizontalAlignment="Left"
     VerticalAlignment="Top"
     Text="倍速"
     TextWrapping="Wrap" />
 <ComboBox
     Name="SpeedCBox"
     Width="120" SelectionChanged="SpeedCBox_SelectionChanged"
     Margin="557,29,0,0"
     HorizontalAlignment="Left"
     VerticalAlignment="Top" />

代码实现

直接实现一下SpeedCBox_SelectionChanged我们获取下ComboBox的当前选项,通过SetRate方法设置播放速率

csharp 复制代码
 private void SpeedCBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (_player != null)
     {
         _player.SetRate((float)SpeedCBox.SelectedItem);
     }
 }

效果

实现了音量控制和倍速播放

视频教程

WPF+LibVLC开发播放器-实现播放器音量控制

相关推荐
前端不太难40 分钟前
用 ArkUI 写一个小游戏,体验如何?
状态模式·harmonyos
nashane1 小时前
HarmonyOS 鸿蒙 2026 全栈实战:从手势驱动到分布式数据落地的完整架构
wpf·harmony app
誰能久伴不乏2 小时前
Qt 混合编程核心原理:C++ 与 QML 通信机制详解
linux·c++·qt·架构·状态模式
秋雨雁南飞3 小时前
WPF 国际化(全球化)管理
wpf
ZC跨境爬虫3 小时前
UI前端美化技能提升日志day5:从布局优化到CSS继承原理深度解析
前端·css·ui·html·状态模式
前端不太难3 小时前
如何设计 Agent 的“最小权限原则”
人工智能·状态模式·agent
nashane1 天前
HarmonyOS 6.0 分布式数据库进阶:设备协同与高效数据同步实战(API 11 Stage 模型)
wpf·harmonyos 5
ZC跨境爬虫1 天前
UI前端美化技能提升日志day1:矢量图片规范与自适应控制栏实战
前端·css·ui·状态模式
ZC跨境爬虫1 天前
UI前端美化技能提升日志day2:图片优化、字体本地化与设计美感解析
前端·javascript·ui·状态模式
极客智造1 天前
WPF InputBindings MVVM详解
wpf