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开发播放器-实现播放器音量控制
相关文章:
WPF+LibVLC开发播放器-音量控制和倍速控制
界面 界面上增加音量的控件和倍速控制控件 音量控制 主要也是一个Slider进度条控件来实现音量调节 我们这里设置默认的最大值为100,默认Value值也为100,默认声音开到最大 这里目前完全由前端控制音量调节,可以直接使用ValueChanged事件实…...
数智运营一体化平台项目经营分享
分离前后台,增强产品管理灵活性 前端成熟的流程平台,支持低代码快速灵活配置流程表单,完美解决流程频繁变化与快速上线、费用控制的矛盾。使产品管理体系,摆脱了流程可移植性差和投入大量人力物力无止境修改流程的困境。同时&…...
记录blender学习过程中遇到的问题
物体发射的方向不对 被发射物体(例如一棵树)n键看旋转归0 切换正视图 将被发射物体的局部坐标的Z轴 指向 全局方向的X轴时 并且把粒子系统设置的物体旋转勾选上 方向就对了 做倒角发现有问题 检查缩放应用、面朝向、有没有重合点(融合点&am…...
(八)腾讯cloudstudio+Stable-Diffusion-webui AI绘画教程-安装插件
一、说明 本文安装8个插件,先安装,后面在慢慢学习,我也是第一次喔 二、中英文双语语言包 (二)Ubuntu22.04Stable-Diffusion-webui AI绘画 中英双语插件安装-CSDN博客https://blog.csdn.net/jiangkp/article/details…...
记一次跑前端老项目的问题
记一次跑前端老项目的问题 一、前言二、过程1、下载依赖2、启动项目3、打包 一、前言 在一次跑前端老项目的时候,遇到了一些坑,这里记录一下。 二、过程 1、下载依赖 使用 npm install下载很久,然后给我报了个错 core-js2.6.12: core-js…...
深度学习:MindSpore自动并行
随着模型规模的逐渐增大,需要的算力逐渐增强,但是算力需求增长速度远高于芯片算力增长速度。现在唯一的解决方案只有通过超大规模集群训练大模型。 大集群训练大模型的挑战 内存墙 200B参数量的模型,参数内存占用745GB内存,训练…...
python拆分Excel文件
按Sheet拆分Excel 或 按照某一列的不同值拆分Excel。文档样式如下: 结果:红色是按照Sheet名拆出的,蓝色和橙色是某个Sheet按照某列的不同值拆分的。 代码: # -*- coding: utf-8 -*- """ 拆分excel文件——按照…...
Python实现Excel中数据条显示
Python中要实现百分比数据条的显示,可以使用pandas库,pandas图表样式的设置与Excel中的条件格式设置比较类似,比如Excel里常用的数据条的用法,在pandas中使用代码进行高亮显示,用来突出重点数据,下面一起来…...
c#如何开发后端
1选择开发框架 在 C# 中,用于后端开发最常用的框架是ASP.NET。它提供了构建 Web 应用程序、Web API 和微服务等多种后端服务所需的功能。ASP.NET有不同的模式,如ASP.NET MVC(Model - View - Controller)和ASP.NET Web API。ASP.NE…...
6.Vue------async/await详细的讲解---知识积累
前提: 先说一下Promise解释 Promise是一种在JavaScript中处理异步操作的对象。它代表了一个尚未完成但承诺未来某个时间会完成的操作结果。Promise有三种状态:pending(等待中)、fulfilled(已成功)和reject…...
Redis面试专题-持久化
目录 前言 持久化相关知识 1.三种持久化机制 2.RDB持久化 3.深入剖析一下RDB持久化过程 4.AOF持久化 5.RDB和AOF对比编辑 面试题 1.redis持久化机制有哪些? 2.那仔细讲讲你对他们的理解 3.你刚刚说AOF的文件很大,那AOF文件会越来越大…...
如何将快捷指令添加到启动台
如何将快捷指令添加到启动台/Finder/访达(Mac) 1. 打开快捷指令创建快捷指令 示例创建了一个文件操作测试的快捷指令。 2. 右键选择添加到程序坞 鼠标放在待添加的快捷指令上。 3. 右键添加到访达 鼠标放在待添加的快捷指令上。 之后就可以在启…...
ansible自动化运维(二)ad-hoc模式
目录 Ansible模块(ad-hoc模式) 1.command模块:远程执行命令 2.shell 模块:远程执行命令,支持管道,重定向 3.Raw模块:先登录,再执行,最后退出 4.Script模块ÿ…...
技术栈6:Docker入门 Linux入门指令
目录 1.Linux系统目录结构 2.处理目录的常用命令 3.Docker概述 4.Docker历史 5.Docker基本组成 6.Docker底层原理 7.Docker修改镜像源 8.Docker基本命令 9.Docker创建Nginx实战 10.数据卷 11.本地目录直接挂载* 12.镜像和dockerfile 13.容器互联与自定义网络 14.…...
OPStack Optimism Layer2
概述 OP Stack 是标准化、共享和开源的开发堆栈,为 Optimism 提供支持,由 Optimism Collective 维护。 Optimism Bedrock 是 OP Stack的当前版本。 Bedrock 版本提供了用于启动生产质量的 Optimistic Rollup 区块链的工具。此时,OP Stack不同层的 API 仍然与Stack的 Rollu…...
Leetcode—1498. 满足条件的子序列数目【中等】
2024每日刷题(210) Leetcode—1498. 满足条件的子序列数目 C实现代码 class Solution { public:int numSubseq(vector<int>& nums, int target) {const int MOD 1e9 7;int n nums.size();vector<int> pows(n, 1);for(int i 1; i &…...
生活大爆炸版石头剪刀布(洛谷P1328)
生活大爆炸版石头剪刀布(洛谷P1328) [NOIP2014 提高组] 前言: 由于洛谷发布题解有限制,所以在CSDN上发布洛谷题解。 所有题解均是Java语言, 但是思路是相同的 每篇都是刷题日常,尽量讲清楚算法逻辑。 希望有问题还请大佬们指导! …...
OmniParser一种用于增强视觉语言模型与用户界面交互效果的技术
OmniParser一种用于增强视觉语言模型与用户界面交互效果的技术 OmniParser的核心功能是将用户界面截图转换为结构化元素,这一过程涉及几个关键步骤和技术要素,解决了视觉语言模型(VLMs)在与用户界面交互时所面临的多种挑战。 1.…...
Unity引擎UI滚动列表——滚动复用基础介绍
大家好,我是阿赵。 一、滚动复用的介绍 在制作游戏的过程中,经常会遇到一些需要显示数量比较大的数据的情况。比如说,一个排行榜,需要展示当前服务器前一千个玩家的排名。或者游戏的背包容量特别大,可以有几千个格子。…...
在 Windows 11 WSL (Ubuntu 24.04.1 LTS) | Python 3.12.x 下部署密码学库 charm
1. 在 Windows 11 上部署 Ubuntu (WSL) 由于作者没有高性能的 Ubuntu 服务器或个人电脑,且公司或学校提供的 Ubuntu 服务器虽然提供高性能 GPU 等硬件配置但通常不会提供 root 权限,因而作者通过在搭载了 Windows 11 的个人电脑上启动 Ubuntu (WSL) 来进…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
