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

【音频】Qt6实现MP3播放器

1、简介

解码MP3有很多种方法,比如:FFmpeg、GStreamer、Qt、libmpg123 库等,下面介绍使用,只使用Qt的接口方法解码、播放MP3。

开发配置:
1)操作系统:Windows11
2)Qt版本:Qt6.5.1
3)编译器:MinGW_64

2、获取音频输出设备

QMediaDevices 用于获取媒体设备,包括音频输入、音频输出、摄像头等设备。
我们可以使用 QMediaDevices 获取音频输出的设备列表,并添加到 QComboBox 中来显示。

QMediaDevices::defaultAudioOutput() 获取默认输出设备,添加到 QComboBox 的第一个项;
QMediaDevices::audioOutputs() 获取所有的输出设备,依次添加到 QComboBox 中。

const QAudioDevice &defaultOutDeviceInfo = m_devices

相关文章:

【音频】Qt6实现MP3播放器

1、简介 解码MP3有很多种方法,比如:FFmpeg、GStreamer、Qt、libmpg123 库等,下面介绍使用,只使用Qt的接口方法解码、播放MP3。 开发配置: 1)操作系统:Windows11 2)Qt版本:Qt6.5.1 3)编译器:MinGW_64 2、获取音频输出设备 QMediaDevices 用于获取媒体设备,包括音…...

【Linux】VSCode用法

描述 部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。 专栏目录:记录自己的嵌入式学习之路-CSDN博客 1 安装环境及运行C/C 1.1 安装及配置步骤 请参考这位大佬的…...

普通 html 项目也可以支持 scss_sass

项目结构示例 下载vscode的插件Live Sass Compiler 自动监听编译scss 下载插件Live Server 用于 web 服务器,打开 html 文件到浏览器,也可以不用这个,自己用 nginx 或者宝塔其他 web 工具 新建一个 index.scss打开,点击 vscode 底…...

C#实现主流PLC读写工具类封装

以下是针对三菱、欧姆龙、西门子S7系列、汇川、台达PLC的完整封装工具类实现,基于Modbus TCP/RTU、MC协议、QJ71等主流通信协议: 基础接口定义 /// <summary> /// PLC操作基础接口 /// </summary> public interface IPLC {/// <summary>/// 连接PLC/// &…...

C++之特殊类设计及类型转换

目录 一、设计一个不能被拷贝的类 二、设计一个只能在堆上创建对象的类 三、设计一个只能在栈上创建对象的类 四、设计一个不能被继承的类 五、设计一个只能创建一个对象的类(单例模式) 六、C语言中的类型转换 七、C中的三类类型转换 八、C强制类型转换 8.1、为什么C需…...

【Linux】C语言补充知识

有一些Linux常见的C语言用法需要哈好复习一下。 部分图片和经验来源于网络&#xff0c;若有侵权麻烦联系我删除&#xff0c;主要是做笔记的时候忘记写来源了&#xff0c;做完笔记很久才写博客。 专栏目录&#xff1a;记录自己的嵌入式学习之路-CSDN博客 1 结构体 1.1 结…...

怎么查看数据库容量

要查看数据库容量&#xff0c;你需要登录数据库管理系统&#xff0c;然后执行相应的 SQL 查询语句。不同的数据库管理系统有不同的语法&#xff0c;以下是一些常见的数据库管理系统中查看数据库容量的 SQL 查询语句示例&#xff1a; MySQL/MariaDB: SELECT table_schema &quo…...

深度学习中卷积的计算复杂度与内存访问复杂度

深度学习中卷积的计算复杂度与内存访问复杂度 在深度学习中&#xff0c;普通卷积&#xff08;Standard Convolution&#xff09;、深度可分离卷积&#xff08;Depthwise Separable Convolution, DWConv&#xff09;和部分卷积&#xff08;Partial Convolution, PConv&#xff…...

神经网络—损失函数

文章目录 前言一、损失函数概念二、损失函数原理1、分类问题中常见的损失函数&#xff08;1&#xff09;0-1损失函数原理优缺点 &#xff08;2&#xff09;交叉熵损失&#xff08;Cross-Entropy Loss&#xff09;原理优缺点 &#xff08;3&#xff09; 合页损失&#xff08;Hin…...

Rust中避免过度使用锁导致性能问题的策略

一、引言 在 Rust 多线程编程中&#xff0c;锁是实现线程同步的重要工具&#xff0c;它可以防止多个线程同时访问和修改共享数据&#xff0c;从而避免数据竞争和不一致的问题。然而&#xff0c;过度使用锁会带来严重的性能问题&#xff0c;如锁竞争导致的线程阻塞、上下文切换…...

Qt connect第五个参数

在 Qt 中&#xff0c;QObject::connect 函数的第五个参数用于指定 连接类型&#xff08;Qt::ConnectionType&#xff09;&#xff0c;它决定了信号与槽之间的通信方式。以下是各枚举值的详解及使用场景&#xff1a; 1. Qt::AutoConnection&#xff08;默认值&#xff09; 行为…...

QT —— 信号和槽(带参数的信号和槽函数)

QT —— 信号和槽&#xff08;带参数的信号和槽函数&#xff09; 带参的信号和槽函数信号参数个数和槽函数参数个数1. 参数匹配规则2. 实际代码示例✅ 合法连接&#xff08;槽参数 ≤ 信号参数&#xff09;❌ 非法连接&#xff08;槽参数 > 信号参数&#xff09; 3. 特殊处理…...

极简GIT使用

只为极简使用。 创建本地仓库 初始化git仓库 1.创建一个新文件夹 2.在文件夹内打开git bash 之后进入如下界面&#xff0c;输入git init&#xff0c;这样此文件就可以使用git了。 在此文件夹中&#xff0c;除了.git文件外&#xff0c;其他全部都是工作文件。 接下来将以一个…...

【嵌入式———通用定时器基本操作——实验需求2:案列:测量PWM的频率/周期】

通用定时器输入捕获 需求&#xff1a;把测到的结果通过串口发送到电脑&#xff0c;检查测试结果。 在溢出之前&#xff0c;两次上升/下降沿记录时间。 345部分 滤波器&#xff1a;用来滤掉一些毛刺信息&#xff0c;信号质量好可以不滤波 边沿检测器&#xff1a;确定要捕获的是…...

兰亭妙微:数据驱动的 B 端设计:如何用 UI 提升企业级产品体验?

​ 在数字化转型的浪潮中&#xff0c;企业级产品的用户体验成为了决定产品竞争力的关键因素。对于 B 端产品而言&#xff0c;其使用场景复杂、用户需求多元&#xff0c;如何通过 UI 设计提升产品体验&#xff0c;成为了摆在设计者面前的重要课题。而数据驱动的设计方法&#x…...

Spring AOP---面向切面编程由认识到使用

1. AOP AOP(Aspect-Oriented Programming), 是一种思想, 面向切面编程。 在前文统一异常处理&#xff0c;统一结果返回就是使用了这一思想&#xff08;都是在集中处理某一类事情, 但又不影响原有代码的正常运行&#xff09;&#xff0c;但他们不是AOP&#xff0c;只是应用了这…...

深入解析 Python 应用日志监控:ELK、Graylog 的实战指南

深入解析 Python 应用日志监控:ELK、Graylog 的实战指南 引言 在现代应用开发中,日志不仅仅是用于记录错误和调试信息,它更是系统运行状况的窗口,帮助开发者和运维人员监控、优化应用性能。Python 作为广泛应用的开发语言,其应用日志管理的重要性不言而喻。而 ELK(Elas…...

贝叶斯算法实战:从原理到鸢尾花数据集分类

贝叶斯算法实战&#xff1a;从原理到鸢尾花数据集分类 在机器学习的广阔领域中&#xff0c;贝叶斯算法以其基于概率推理的独特优势&#xff0c;成为数据分类和预测的重要工具。今天&#xff0c;我们将通过一段Python代码&#xff0c;深入探讨贝叶斯算法在鸢尾花数据集分类任务…...

CSS学习笔记14——移动端相关知识(rem,媒体查询,less)

移动端 rem适配布局 rem单位 rem基准是相对于html元素的字体大小 父元素设定font-size&#xff0c;子元素根据rem缩放对应字体大小 媒体查询&#xff08;Media Query&#xff09; media可以针对不同屏幕尺寸设置不同样式当你重置浏览器大小过程中&#xff0c;页面也会根据…...

使用Node编写轻量级后端快速入门

使用Node编写轻量级后端快速入门 node 要作为轻量级后端需要下载一些对应模块可以参考下面命令。你可以借助 npm&#xff08;Node Package Manager&#xff09;来下载它们。 模块下载 express&#xff1a;这是一个广受欢迎的 Node.js Web 应用框架&#xff0c;能用于构建 Web…...

海量数据存储与分析:HBase vs ClickHouse vs Doris 三大数据库优劣对比指南

1.引言 在当今大数据时代&#xff0c;数据正以前所未有的速度持续增长。来自各个领域的数据&#xff0c;如互联网行业用户的每一次点击、浏览记录&#xff0c;金融机构的海量交易数据&#xff0c;以及物联网设备源源不断上传的实时监测数据等&#xff0c;其规模呈指数级攀升。…...

Redis 挂掉后高并发系统的应对策略:使用 Sentinel 实现限流降级与 SkyWalking 监控优化

前言 在现代分布式系统中&#xff0c;Redis 被广泛用作缓存中间件以提升性能和减轻数据库压力。然而&#xff0c;在高并发场景下&#xff0c;一旦 Redis 出现故障&#xff08;如宕机、网络中断等&#xff09;&#xff0c;如果没有有效的容错机制&#xff0c;可能会导致大量请求…...

C++11新特性_自动类型推导_decltype

decltype 是 C11 引入的一个关键字&#xff0c;用于在编译时推导表达式的类型。它提供了一种方式&#xff0c;让编译器根据表达式的类型来确定变量的类型&#xff0c;而不需要显式地指定类型。下面为你详细介绍 decltype 的使用方法和应用场景。 基本语法 decltype 的基本语法…...

Scrapy爬虫实战总结:动态与登录爬取的精炼经验

引言 在AI时代,信息和数据往往成就你的速度和高度。。。 这篇文章基于前两篇的实践基础之上的一次小结,通过“爬取动态网页”和“登录网站”两场实战,我用Scrapy+Splash破译JavaScript,用FormRequest敲开权限大门。这篇总结凝练两场冒险的体验,淬炼Scrapy爬虫的通用经验…...

windows系统搭建自己的ftp服务器,保姆级教程(用户验证+无验证)

前言 最近在搭建环境时&#xff0c;我发现每次都需要在网上下载依赖包和软件&#xff0c;这不仅耗时&#xff0c;而且有时还会遇到网络不稳定的问题&#xff0c;导致下载速度慢或者中断&#xff0c;实在不太方便。于是&#xff0c;我产生了搭建一个FTP服务器的想法。通过搭建FT…...

PDF本地化开源项目推荐

Stirling-PDF 项目详细总结 1. 项目概述 Stirling-PDF 是一个基于 Docker 的本地化 Web 应用&#xff0c;专注于 PDF 文件的多样化处理。其核心特点是&#xff1a; 完全本地化部署&#xff1a;所有文件处理均在用户设备或服务器内存中进行&#xff0c;任务完成后自动清理临…...

从工厂到生活:算法 × 深度学习,正在改写自动化的底层逻辑

一.背景&#xff1a; 从工业革命时期的机械自动化&#xff0c;到信息时代的智能自动化&#xff0c;人类对自动化技术的追求从未停歇。近年来&#xff0c;随着物联网、大数据、云计算等技术的蓬勃发展&#xff0c;自动化系统的复杂度与智能化程度显著提升。算法与深度学习的深度…...

如何拿奖蓝桥杯

要在蓝桥杯中拿奖&#xff0c;可参考以下方法&#xff1a; 备赛规划方面 - 明确目标与计划&#xff1a;选择自己感兴趣或有基础的组别&#xff0c;了解比赛大纲和历年真题&#xff0c;制定包含基础语法学习、算法入门、真题训练等阶段的合理学习计划。 - 合理安排时间&#xf…...

【STM32单片机】#12 SPI通信(软件读写)

主要参考学习资料&#xff1a; B站江协科技 STM32入门教程-2023版 细致讲解 中文字幕 开发资料下载链接&#xff1a;https://pan.baidu.com/s/1h_UjuQKDX9IpP-U1Effbsw?pwddspb 单片机套装&#xff1a;STM32F103C8T6开发板单片机C6T6核心板 实验板最小系统板套件科协 目录 SPI…...

从请求到响应:初探spring web

引入&#xff1a; 首先小编想分享下一些开发小知识 2000年——手写servlet/JSP时代 在这个阶段中&#xff0c;那时候写后端代码&#xff0c;可谓是个麻烦事。 毕竟什么都要自己干 发来的请求都要写extends HttpServlet的类&#xff0c;手动在web.xml配置 <servlet>…...

【中间件】bthread_基础_TaskControl

TaskControl 1 Definition2 Introduce**核心职责** 3 成员解析**3.1 数据结构与线程管理****3.2 任务调度与负载均衡****3.3 线程停放与唤醒&#xff08;ParkingLot&#xff09;****3.4 统计与监控** 4 **工作流程**5 **设计亮点**6 **使用场景示例**7 **总结**8 学习过程中的疑…...

systemd和OpenSSH

1 systemd 1.1 配置文件 /etc/systemd/system /lib/systemd/system /run/systemd/system /usr/lib/systemd/user 1.2 commands systemctl list-unit-files | grep enable systemctl cat dlt-daemon.service systemctl cat dlt-system.service systemctl show dlt-daemon.ser…...

08 Python集合:数据 “去重神器” 和运算魔法

文章目录 一、Python 中的集合概述1. 集合的特性 二、集合的创建三、元素的遍历四、集合的运算1. 成员运算2. 二元运算3. 比较运算 五、集合的方法六、不可变集合 一、Python 中的集合概述 在 Python 里&#xff0c;集合&#xff08;Set&#xff09;是一种无序且元素唯一的数据…...

配置和使用基本存储

配置和使用基本存储 文章目录 配置和使用基本存储[toc]一、什么是卷&#xff1f;二、卷的类型三、使用EmptyDir卷存储数据1.了解EmptyDir卷2.测试EmptyDir卷的使用 四、使用HostPath卷挂载宿主机文件1.了解HostPath卷2.测试HostPath卷的使用 五、使用NFS卷挂载NFS共享目录1.准备…...

win11 终端 安装ffmpeg 使用终端Scoop

1、安装scoop (Windows 包管理器) Set-ExecutionPolicy RemoteSigned -Scope CurrentUser iwr -useb get.scoop.sh | iex 2、使用scoop来安装ffmpeg scoop install ffmpeg 3、测试一下ffmpeg&#xff0c;将Mp3文件转为Wav文件 ffmpeg -i A.mp3 A.wav 然后我们就看到A.wav生成…...

navicat中导出数据表结构并在word更改为三线表(适用于navicat导不出doc)

SELECTCOLUMN_NAME 列名,COLUMN_TYPE 数据类型,DATA_TYPE 字段类型,IS_NULLABLE 是否为空,COLUMN_DEFAULT 默认值,COLUMN_COMMENT 备注 FROMINFORMATION_SCHEMA.COLUMNS WHEREtable_schema db_animal&#xff08;数据库名&#xff09; AND table_name activity&#xff08;…...

Azure Monitor 实战指南:全方位监控应用与基础设施

Azure Monitor 是 Azure 云原生的统一监控解决方案,能够实时追踪应用性能、基础设施健康状态及日志数据。本文将通过 实战步骤 演示如何利用 Azure Monitor 监控 GPT-4 服务、虚拟机、存储等资源,并结合自动化告警和日志分析,构建企业级监控体系。 1. Azure Monitor 核心功能…...

【人工智能】释放本地AI潜能:LM Studio用户脚本自动化DeepSeek的实战指南

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着大型语言模型(LLM)的快速发展,DeepSeek以其高效的性能和开源特性成为开发者关注的焦点。LM Studio作为一款强大的本地AI模型管理工具…...

智能体-CyberTask Orchestrator设计概要(V4.1超长版)

智能体-CyberTask Orchestrator设计概要&#xff08;V4.0超长版&#xff09; 一、深度演进背景与战略定位&#xff08;核心篇幅拓展至2187字&#xff09; &#xff08;本段新增行业趋势与技术必要性论证&#xff09; 1.1 全球网络安全威胁态势分析&#xff08;2023-2025&…...

C# 面向对象实例演示

C# 面向对象编程实例演示 一、基础概念回顾 面向对象编程(OOP)的四大基本特性&#xff1a; ​​封装​​ - 将数据和操作数据的方法绑定在一起​​继承​​ - 创建新类时重用现有类的属性和方法​​多态​​ - 同一操作作用于不同对象产生不同结果​​抽象​​ - 简化复杂系…...

软件产品测试报告:如何全面评估及保障软件质量?

软件产品测试报告可以对软件产品质量做全面评估&#xff0c;还能够把评估结果展示出来&#xff0c;它依靠一系列测试手段和数据分析&#xff0c;能为产品的完善以及决策提供重要依据。下面从不同方面展开说明。 测试目的 开展本次软件产品测试&#xff0c;主要目的有三个。一…...

leetcode42-接雨水

leetcode 42 思路 本题使用 单调栈 来计算每个位置能够接住的雨水量 理解问题 题目要求计算一系列柱子之间可以接住的雨水量。输入是一个数组&#xff0c;每个元素代表柱子的高度。输出是一个整数&#xff0c;表示能够接住的水量。 找到边界条件 什么情况下可以接住雨水…...

普通IT的股票交易成长史--20250430晚

声明&#xff1a;本文章的内容只是自己学习的总结&#xff0c;不构成投资建议。文中观点基本来自yt站Andylee&#xff0c;美股Alpha姐&#xff0c;综合自己的观点得出。感谢他们的无私分享。 送给自己的话&#xff1a; 仓位就是生命&#xff0c;绝对不能满仓&#xff01;&…...

Elastic Security 8.18 和 9.0 中的新功能

作者&#xff1a;来自 Elastic Mark Settle, Tamarian Del Conte, James Spiteri, Tinsae Erkailo, Charles Davison, Raquel Tabuyo, Kseniia Ignatovych, Paul Ewing, Smriti 检测规则的自动迁移、用于 ES|QL 的 Lookup Join、AI 功能增强&#xff0c;以及更多功能。 Elasti…...

使用 Vue 开发 VS Code 插件前端页面(上)

本文的方案主要参考了这篇博客&#xff1a; Vscode 的 extension webview 开发示例&#xff1a; Vue 和 React 实现 https://juejin.cn/post/7325132202970136585样例项目地址&#xff1a; github | vscode-webview-with-vuehttps://github.com/HiMeditator/vscode-webview-w…...

Vue Router路由原理

Vue Router 是 Vue.js 官方的路由管理器&#xff0c;它与 Vue.js 核心深度集成&#xff0c;使得构建单页应用&#xff08;SPA&#xff09;变得非常容易。Vue Router 的主要功能包括动态路由匹配、嵌套路由、编程式导航、命名路由、路由守卫等 Vue Router 原理 单页应用&#x…...

Tauri v1 与 v2 配置对比

本文档对比 Tauri v1 和 v2 版本的配置结构和内容差异&#xff0c;帮助开发者了解版本变更并进行迁移。 配置结构变化 v1 配置结构 {"package": { ... },"tauri": { "allowlist": { ... },"bundle": { ... },"security":…...

详解 MyBatis-Plus 框架中 QueryWrapper 类

QueryWrapper 一、 QueryWrapper 的概念为什么需要 QueryWrapper&#xff1f; 二、 QueryWrapper 的基本使用1. 创建 QueryWrapper 实例2. 添加查询条件3. 执行查询 三、 QueryWrapper 的常见方法1. 基本条件方法1.1 eq - 等于1.2 ne - 不等于1.3 gt - 大于1.4 ge - 大于等于1.…...

小米MiMo-7B大模型:解锁推理潜力的新传奇!

在大语言模型&#xff08;LLMs&#xff09;蓬勃发展的时代&#xff0c;推理能力成为衡量模型优劣的关键指标。今天为大家解读的这篇论文&#xff0c;介绍了小米的MiMo-7B模型&#xff0c;它通过独特的预训练和后训练优化&#xff0c;展现出强大的推理实力&#xff0c;快来一探究…...

联邦学习的收敛性分析(全设备参与,不同本地训练轮次)

联邦学习的收敛性分析 在联邦学习中,我们的目标是分析全局模型的收敛性,考虑设备异构性(不同用户的本地训练轮次不同)和数据异质性(用户数据分布不均匀)。以下推导从全局模型更新开始,逐步引入假设并推导期望损失的递减关系,最终给出收敛性结论。 1. 全局模型更新与泰…...