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();
		else
			player->play();
	});

	QVBoxLayout* layout = new QVBoxLayout;
	layout->addWidget(playButton);
	layout->addWidget(seekSlider);
	window.setLayout(layout);

	window.setWindowTitle("QtPlayMusic");

	window.show();
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值