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

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

界面

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

在这里插入图片描述

音量控制

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

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

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

<SliderWidth="120"Margin="0,30,0,0"HorizontalAlignment="Center"VerticalAlignment="Top"Maximum="100"ValueChanged="Slider_ValueChanged"Value="100" />
<TextBlockMargin="280,35,0,6"HorizontalAlignment="Left"Text="音量"TextWrapping="Wrap" />

代码实现

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

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

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

倍速控制

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

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

 <TextBlockMargin="508,32,0,0"HorizontalAlignment="Left"VerticalAlignment="Top"Text="倍速"TextWrapping="Wrap" /><ComboBoxName="SpeedCBox"Width="120" SelectionChanged="SpeedCBox_SelectionChanged"Margin="557,29,0,0"HorizontalAlignment="Left"VerticalAlignment="Top" />

代码实现

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

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

效果

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

在这里插入图片描述

视频教程

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

http://www.lryc.cn/news/500370.html

相关文章:

  • 数智运营一体化平台项目经营分享
  • 记录blender学习过程中遇到的问题
  • (八)腾讯cloudstudio+Stable-Diffusion-webui AI绘画教程-安装插件
  • 记一次跑前端老项目的问题
  • 深度学习:MindSpore自动并行
  • python拆分Excel文件
  • Python实现Excel中数据条显示
  • c#如何开发后端
  • 6.Vue------async/await详细的讲解---知识积累
  • Redis面试专题-持久化
  • 如何将快捷指令添加到启动台
  • ansible自动化运维(二)ad-hoc模式
  • 技术栈6:Docker入门 Linux入门指令
  • OPStack Optimism Layer2
  • Leetcode—1498. 满足条件的子序列数目【中等】
  • 生活大爆炸版石头剪刀布(洛谷P1328)
  • OmniParser一种用于增强视觉语言模型与用户界面交互效果的技术
  • Unity引擎UI滚动列表——滚动复用基础介绍
  • 在 Windows 11 WSL (Ubuntu 24.04.1 LTS) | Python 3.12.x 下部署密码学库 charm
  • 【六足机器人】01功能开发
  • notepad++安装教程(超详细)
  • 创建简单的 PL/pgSQL 存储过程
  • Java项目实战II基于微信小程序的无中介租房系统(开发文档+数据库+源码)
  • Node.js实现WebSocket教程
  • Docker Compose实战一( 轻松部署 Nginx)
  • hive分区分桶、数据倾斜总结
  • unity打包到安卓帧率降低
  • 【Python3】装饰器 自动更新缓存
  • 通过EPEL 仓库,在 CentOS 7 上安装 OpenResty
  • [RabbitMQ] RabbitMQ常见应用问题