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

Qt播放音乐代码示例

主界面
在这里插入图片描述在这里插入图片描述
点击play按钮播放或暂停音乐,拖动进度条,音乐对应播放。

	QWidget window;QPushButton* playButton = new QPushButton("Play");// Qt 播放音乐// 创建 QMediaPlayer 对象QMediaPlayer* player = new QMediaPlayer;// 指定音频文件的路径QString audioFilePath = QString::fromLocal8Bit(std::string("./红昭愿.mp3").c_str());// 加载音频文件player->setMedia(QUrl::fromLocalFile(audioFilePath));// 创建进度条QSlider* seekSlider = new QSlider(Qt::Horizontal);QObject::connect(seekSlider, &QSlider::sliderMoved, [&](int position) {if (seekSlider->isSliderDown())player->setPosition(position * 1000);});// 音频准备就绪后,获取音频的总时长(ms)QObject::connect(player, &QMediaPlayer::mediaStatusChanged, [=](QMediaPlayer::MediaStatus status) {if (status == QMediaPlayer::BufferedMedia) {qint64 duration = player->duration();qDebug() << duration;return;}});QObject::connect(playButton, &QPushButton::clicked, [=]() {if (player->state() == QMediaPlayer::PlayingState)player->pause();elseplayer->play();});QVBoxLayout* layout = new QVBoxLayout;layout->addWidget(playButton);layout->addWidget(seekSlider);window.setLayout(layout);window.setWindowTitle("QtPlayMusic");window.show();

相关文章:

Qt播放音乐代码示例

主界面 点击play按钮播放或暂停音乐&#xff0c;拖动进度条&#xff0c;音乐对应播放。 QWidget window;QPushButton* playButton new QPushButton("Play");// Qt 播放音乐// 创建 QMediaPlayer 对象QMediaPlayer* player new QMediaPlayer;// 指定音频文件的路径…...

多线程应用中的性能优化:创建合适的线程数

多线程应用中的性能优化&#xff1a;创建合适的线程数 在多线程应用中&#xff0c;为了降低延迟和提高吞吐量&#xff0c;我们可以采取两种主要策略&#xff1a;优化算法或者充分利用硬件性能。要发挥硬件的极致性能&#xff0c;就需要使用多线程来提高CPU或I/O的利用率。 由于…...

本地运行环境工具UPUPWANK(win)和Navicat数据库管理工具

UPUPWANK安装地址&#xff1a;https://www.upupw.net 1.进入UPUPWANK后点击一键开启 2.新增项目 这里请千万注意80端口&#xff0c;如果80端口被占用了&#xff0c;请记住去任务管理器关闭占用80端口的进程。不然就不会成功显示。&#xff08;笔者含泪警告&#xff0c;一晚上的…...

LeetCode 每日一题 2024/3/18-2024/3/24

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 3/18 303. 区域和检索 - 数组不可变3/19 1793. 好子数组的最大分数3/20 1969. 数组元素的最小非零乘积3/21 2671. 频率跟踪器3/22 2617. 网格图中最少访问的格子数3/23 254…...

Unity 鼠标拖拽3D物体跟随移动的方法

之前我们研究过UI拖拽跟随鼠标移动的方法&#xff1a;https://blog.csdn.net/mr_five55/article/details/135562325 但是该方法不适合3D场景。 假如我们要通过鼠标拖拽3D物体移动&#xff0c;那么可以使用以下控制方法&#xff1a; using System.Collections; using System.…...

数据分析-Pandas分类数据的类别排序和顺序

数据分析-Pandas类别的排序和顺序 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表&…...

利用 Claude 3 on Amazon Bedrock 和 Streamlit 的“终极组合”,开发智能对话体验

概述 通过本文&#xff0c;您将学会如何利用 Streamlit 框架快速搭建前端交互界面。该界面将集成图像上传功能&#xff0c;让用户可以方便地提交待处理图片。在后端&#xff0c;我们将借助 Amazon Bedrock 的 Message API&#xff0c;调用 Claude 3 家族中的 Sonnet 模型对图像…...

Golang基础 Label标签与goto跳转

使用方法 Label 和goto是必须的 Label可以声明再函数体的任何地方 Label的作用范围是在函数体中 Label在嵌套函数(闭包)是不可用的. 不管是在闭包里调用闭包外的Label, 还是在闭包外调用闭包里的Label 变量的声明必须在goto之前 示例 package mainimport "fmt"…...

二进制王国(蓝桥杯备赛)【sort/cmp的灵活应用】

二进制王国 题目链接 https://www.lanqiao.cn/problems/17035/learning/?contest_id177 题目描述 思路 这里就要灵活理解字典序排列&#xff0c;虽然string内置可以直接比较字符串字典序&#xff0c;但是在拼接时比较特殊&#xff0c;比如 11的字典序小于110&#xff0c;但…...

活用C语言之宏定义应用大全

零、C语言宏定义知多少 C语言的编程过程中经常会用到宏定义&#xff0c;然而如果你只是使用宏定义做一些常量的定义&#xff0c;那么你不是OUT了就是C语言小白。 那么我们在编程过程中&#xff0c;宏定义都有哪些作用呢? 常量定义 可以作为功能代码的开关 防止头文件被重复…...

【源码】I.MX6ULL移植OpenCV

编译完成的源码&#xff1a; git clone https://gitee.com/wangyoujie11/atkboard_-linux_-driver.git 1.下载源码放在自己的opecv源码目录下 2.QTOpenCV工程代码放置的位置 3.更改.pro工程文件的opencv地址 4.使用命令行编译 前提是自己环境中已经配置好arm-qt的交叉编译…...

pytorch深度学习——dataset(附数据集下载)

在学习深度学习的时候&#xff0c;我们需要考虑如何去处理数据去训练我们的模型&#xff0c;pytorch为我们提供了Dataset和DataLoader两个类来对数据进行处理&#xff0c;前者作用是提供了一种方式来获取数据及其label&#xff0c;后者的作用是为网络提供不同的数据形式。本文主…...

springboot+vue考试管理系统

基于springboot和vue的考试管理系统 001 springboot vue前后端分离项目 本文设计了一个基于Springbootvue的前后端分离的在线考试管理系统&#xff0c;采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…...

自动驾驶建图--道路边缘生成方案探讨

自动驾驶建图–道路边缘生成方案探讨 一、背景 对于自动驾驶来说&#xff0c;建图是必不可少的&#xff0c;目前主流厂商技术都在从HD到"无图"进行过渡筹备中&#xff0c;不过想要最终实现真正的"无图"还是有很长的一段路要走。 对于建图来说&#xff0c;…...

图片编辑器中实现文件上传的三种方式和二进制流及文件头校验文件类型

背景 最近在 vue-design-editor 开源项目中实现 psd 等多种文件格式上传解析成模板过程中, 发现搞定设计文件上传没有使用 input 实现文件上传, 所以我研究了一下相关技术, 总结了以下三种文件上传方法 input 文件选择window.showOpenFilePicker 和 window.showDirectoryPicke…...

深度学习,CRNN+CTC和Attention OCR你更青睐哪一种?

深度学习在OCR领域的应用已经取得了瞩目的成果&#xff0c;而选择合适的算法对于提升OCR的识别准确率至关重要。在众多算法中&#xff0c;CRNN和Attention OCR犹如两颗璀璨的明珠&#xff0c;备受瞩目。 CRNN&#xff0c;这位结合了卷积神经网络&#xff08;CNN&#xff09;和…...

飞桨AI应用@riscv OpenKylin

在riscv编译安装飞桨PaddlePaddle参见&#xff1a; 算能RISC-V通用云编译飞桨paddlepaddleopenKylin留档_在riscv下进行paddlelite源码编译-CSDN博客 安装好飞桨&#xff0c;就可以用飞桨进行推理了。刚开始计划用ONNX推理&#xff0c;但是在算能云没有装上&#xff0c;所以最…...

在MongoDB建模1对N关系的基本方法

“我在 SQL 和规范化数据库方面拥有丰富的经验&#xff0c;但我只是 MongoDB 的初学者。如何建立一对 N 关系模型&#xff1f;” 这是我从参加 MongoDB 分享日活动的用户那里得到的最常见问题之一。 我对这个问题没有简短的答案&#xff0c;因为方法不只有一种&#xff0c;还有…...

C++基础之运算符重载(十一)

首先为什么要对运算符进行重载&#xff1f;因为C内置的运算符只能作用于一些基本数据类型&#xff0c;而对类和结构体这种自定义数据类型是不管用的。所以这时我们需要对运算符进行重新定义满足一定的运算规则。 运算符重载的三种形式 1.以普通的函数进行重载 #include <…...

初始Java篇(JavaSE基础语法)(2)(逻辑控制)

个人主页&#xff08;找往期文章包括但不限于本期文章中不懂的知识点&#xff09;&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 目录 逻辑控制 顺序结构 分支结构 if语句 switch 语句 循环结构 while 循环 for 循环 do while 循环 输入输出 输出到控制台 从键盘输入 …...

解决MDK下载错误:Flash Download failed - Target DLL cancelled的ISP模式实战指南

1. 理解"Flash Download failed - Target DLL cancelled"错误 当你使用Keil MDK开发环境给单片机下载程序时&#xff0c;突然弹出一个红色错误提示框&#xff1a;"Flash Download failed - Target DLL cancelled"&#xff0c;这感觉就像开车时突然抛锚一样…...

告别I2C和轮询:用GPIO模拟串行协议读取感为灰度传感器的实战解析

告别I2C和轮询&#xff1a;用GPIO模拟串行协议读取灰度传感器的实战解析 在嵌入式开发中&#xff0c;传感器数据采集是基础但关键的一环。当MCU引脚资源紧张或外设已被占用时&#xff0c;如何高效读取传感器数据成为开发者面临的现实挑战。本文将深入探讨一种仅用两个GPIO口&am…...

Haskell编译器优化:wiwinwlh GHC内部机制详解

Haskell编译器优化&#xff1a;wiwinwlh GHC内部机制详解 【免费下载链接】wiwinwlh What I Wish I Knew When Learning Haskell 项目地址: https://gitcode.com/gh_mirrors/wi/wiwinwlh wiwinwlh项目&#xff08;What I Wish I Knew When Learning Haskell&#xff09;…...

PCB丝印设计规范与Altium高效调整技巧

1. PCB丝印调整的必要性与基本原则 在PCB设计流程中&#xff0c;丝印位号的调整往往被初学者视为"收尾工作"而草率处理。但作为有十年Layout经验的工程师&#xff0c;我必须强调&#xff1a;规范的丝印设计能提升30%以上的装配效率&#xff0c;特别是对于需要手工焊接…...

MGC3130电场式三维手势控制器原理与工程实践

1. MGC3130&#xff1a;全球首款电场式三维手势与轨迹追踪控制器深度解析1.1 技术定位与工程价值MGC3130 是由Microchip&#xff08;原Atmel&#xff09;推出的全球首款基于电场&#xff08;E-field&#xff09;传感原理的三维空间轨迹追踪与手势识别专用控制器。其核心突破在于…...

6款AI论文改写工具,智能降重与语言润色,有效减少重复率。

开头总结工具对比&#xff08;技能4&#xff09; &#xfffd;&#xfffd; 为帮助学生们快速选出最适合的AI论文工具&#xff0c;我从处理速度、降重效果和核心优势三个维度&#xff0c;对比了6款热门网站&#xff0c;数据基于实际使用案例&#xff1a; 工具名称 处理速度 降…...

恒压供水系统:维纶通屏与S7 - 200程序的奇妙组合

恒压供水&#xff0c;维纶通屏&#xff0b;s7 200程序在自动化控制领域&#xff0c;恒压供水系统一直是一个经典应用。今天咱就来唠唠如何用维纶通屏搭配S7 - 200程序实现恒压供水。 一、恒压供水原理简介 恒压供水简单来说&#xff0c;就是不管用水量怎么变化&#xff0c;都能…...

安装The Agency后Opencode启动报错:Failed to parse YAML frontmatter: incomplete explicit mapping pair

报错&#xff1a;opencode Failed to parse frontmatter in /home/skywalk/opencodework/.opencode/agent/zk-steward.md: Failed to parse YAML frontmatter: incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line at line 3,…...

Spring - 循环依赖

一、循环依赖概览1.1 什么是循环依赖&#xff1f;循环依赖是指两个或多个 Bean 之间互相持有对方引用&#xff0c;形成闭环。例如 A 依赖 B&#xff0c;B 又依赖 A。A 依赖 BB 依赖 A1.2 循环依赖的三种类型// 类型1&#xff1a;构造器注入的循环依赖&#xff08;无法解决&…...

新手福音!5分钟手把手教你用JSON→C# Entities解决实体类生成难题

大家好&#xff0c;我是CSDN的老用户daier。最近不少读者在后台问我&#xff1a;“后端接口返回一堆JSON数据&#xff0c;要在C#项目里写对应的Model类&#xff0c;太麻烦了&#xff01;嵌套对象、数组、下划线转PascalCase、nullable类型怎么办&#xff1f;” 今天我手把手带…...