当前位置: 首页 > 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();
http://www.lryc.cn/news/324257.html

相关文章:

  • 多线程应用中的性能优化:创建合适的线程数
  • 本地运行环境工具UPUPWANK(win)和Navicat数据库管理工具
  • LeetCode 每日一题 2024/3/18-2024/3/24
  • Unity 鼠标拖拽3D物体跟随移动的方法
  • 数据分析-Pandas分类数据的类别排序和顺序
  • 利用 Claude 3 on Amazon Bedrock 和 Streamlit 的“终极组合”,开发智能对话体验
  • Golang基础 Label标签与goto跳转
  • 二进制王国(蓝桥杯备赛)【sort/cmp的灵活应用】
  • 活用C语言之宏定义应用大全
  • 【源码】I.MX6ULL移植OpenCV
  • pytorch深度学习——dataset(附数据集下载)
  • springboot+vue考试管理系统
  • 自动驾驶建图--道路边缘生成方案探讨
  • 图片编辑器中实现文件上传的三种方式和二进制流及文件头校验文件类型
  • 深度学习,CRNN+CTC和Attention OCR你更青睐哪一种?
  • 飞桨AI应用@riscv OpenKylin
  • 在MongoDB建模1对N关系的基本方法
  • C++基础之运算符重载(十一)
  • 初始Java篇(JavaSE基础语法)(2)(逻辑控制)
  • 家用路由器和企业路由器的区别?
  • Gin简介(Go web基础知识)
  • HBase的Bulk Load流程
  • vue中图片替换 遇到问题
  • Android 观察者模式
  • 阿里云部署MySQL、Redis、RocketMQ、Nacos集群
  • day05-店铺营业状态设置
  • 哈希表(c++)
  • C#基础-标识符命名规则
  • Zabbix Web界面中文汉化
  • esp32CAM环境搭建(arduino+MicroPython+thonny+固件)