QT音乐播放器2:切歌,暂停继续合一

1、实现切歌,循环播放

mainwindow.h

private slots:void on_nextBt_clicked();void on_frontBt_clicked();

在mainwindow.cpp中

MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){//切歌存储歌单列表QFileInfoList infolist = dir.entryInfoList();//遍历整个目录,获取所有目录文件foreach(QFileInfo info, infolist){//排除.和..文件if(info.fileName() != "." && info.fileName() != ".."){//把所有歌曲添加进入播放列表playlist.addMedia(QUrl::fromLocalFile(dirpath+info.fileName()));}}
}
//上一首
void MainWindow::on_frontBt_clicked()
{/*------------------------------------------------------------ M_Amount = ui->listWidget->count();//获取歌曲总数量        ----   M_Current = ui->listWidget->currentRow();  //获取当前位置  -----  在这里每次循环的时候,在行列表会重置到原来的位置,所以会出现一直停留在----   上一首中                                                  --------------------------------------------------------------*/if(M_Current == 0){M_Current = ui->listWidget->count() - 1;}else{M_Current--;}QListWidgetItem *item = ui->listWidget->item(M_Current);item->setSelected(true);player.stop();player.setMedia(QUrl::fromLocalFile(dirpath+"/"+item->text()));player.play();
}//下一首
void MainWindow::on_nextBt_clicked()
{//先判断当前位置是否是尾端,如果是,直接置0if(M_Current + 1== ui->listWidget->count()){M_Current = 0;}else{M_Current++;}QListWidgetItem *item = ui->listWidget->item(M_Current);item->setSelected(true);player.stop();player.setMedia(QUrl::fromLocalFile(dirpath+"/"+item->text()));player.play();}

在这里插入图片描述

2、播放和暂停合二为一

在mainwindow.h

void getState(QMediaPlayer::State state);        //播放和暂停传信号

在mainwindow.cpp

//播放停止合二为一
void MainWindow::on_pushButton_3_clicked()
{if(player.state() == QMediaPlayer::PlayingState){player.pause();}else {player.play();}}
void MainWindow::getState( QMediaPlayer::State state )
{if(state == QMediaPlayer::PlayingState){ui->pushButton_3->setText(" | |");}else{ui->pushButton_3->setText(" 》");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/58005.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用Qt写一个简单的音乐播放器(四):歌曲浏览、上一曲、下一曲

一、前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐。 在用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音…

如何使用Guitar Pro在乐谱播放时切换效果器音色?

如何使用Guitar Pro在乐谱播放时切换效果器音色? 关键词:吉他谱 Guitar Pro是一款专注于多种乐器谱制作和播放的高效电脑系统软件,我们使用它可以完成非常多的乐谱操作,如乐队排练、和弦学习等适用于高手和新手的功能都不在话下…

qt 频谱 音乐播放器

先看效果 录制_2022_08_11_14_37_25_628 在网上找了一圈, 好多人写的资料敝竹自珍,还要收费真是无语。还有些需要用第三方库,真是没有必要。qt可以直接实现这些功能 音乐播放器的实现我就不贴了, 网上好多例子,我主要…

功能扩展——邮件发送、网页注册

邮件收发 转自这位大佬 电子邮件 要在网络上实现邮件功能,必须要有专门的邮件服务器。 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。 SMTP服务器地址:一般是smtp.xxx…

网站注册邮件发送功能实现

摘抄自狂神笔记 电子邮件 要在网络上实现邮件功能,必须要有专门的邮件服务器。 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。 SMTP服务器地址:一般是 smtp…

阿里巴巴国际站获得商品详情 API 调用分享(销量、详情图片、宝贝链接)

item_get-获得商品详情 alibaba.item_get 调用代码分享 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.net.URL; import java.nio.charset.Charset; imp…

利用用户搜索词生成商品标题信息——阿里巴巴IDST

今天介绍的论文是阿里IDST在2018年AAAI上发表的paper《A Multi-task Learning Approach for Improving Product Title Compression with User Search Log Data》。 其应用背景是,现在越来越多的用户开始习惯于使用手机、PAD等移动端进行网购行为,而这些移…

【阿里巴巴国际站API接口】商品详情接口,代码封装系列

为了进行电商平台 alibaba 的API开发,首先我们需要做下面几件事情。 1)开发者注册一个账号 2)然后为每个alibaba应用注册一个应用程序键(App Key) 。 3)下载 alibaba API的SDK并掌握基本的API基础知识和调用 4&#xf…

通过 Python 封装关键词搜索阿里巴巴商品api接口

以下是使用 Python 封装关键词搜索阿里巴巴商品列表数据的步骤: 使用 requests 库向阿里巴巴搜索接口发送 HTTP 请求,可以使用 GET 或 POST 方法,请求参数中应包含搜索关键词、每页展示数量、当前页码等信息。 解析返回的 response 中的 HTM…

中英文在线语音转文字的方法

今天小编就来给大家分享一个中英文在线翻译的方法,小编这个来给大家分享一个这样很好用的方法! 操作方法: 使用工具:录音转文字助手 第一步:如果将手机录音转成文字的话需要使用一个工具:录音转文字助手&a…

实现语音转文字功能

解决方案 最近要实现语音转文字接口,具体需求是录制语音后再聊天室实时显示文字: 目前腾讯有三种解决方案: 实时语音识别使用场景是一边录语音,一遍转文字,实时性较高;一句话识别是对60s内的语音文…

互联网时代,自媒体宣发的概念、优势、策略及注意事项

自媒体宣发是指通过自己或者委托专业机构,运用自媒体平台传播宣传信息的一种方式。在互联网时代,自媒体已经成为了企业推广的一种重要手段。本文将为大家介绍自媒体宣发的概念、优势、策略及注意事项。#自媒体# 一、什么是自媒体宣发? 自媒体…

基于Matlab求解高铁运营公司列车开行优化问题

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

问题 A: 火车站(stack)

问题 A: 火车站(stack) 时间限制: 1 Sec 内存限制: 128 MB 提交: 251 解决: 137 [提交][状态][讨论版] 题目描述 火车站只有一条铁路,所有的火车都停在那里。所以所有的火车都是从一边进站,从另一边出站。如果A列先进入铁路,然后B列在A列离开…

PTA L2-014列车调度

PTAL2-014列车调度(二分法/Set集合) 两种方法解决该问题 火车站的列车调度铁轨的结构如下图所示。 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列…

UVA514 铁轨问题

问题描述 : PopPush城市有一座著名的火车站。这个国家到处都是丘陵。而这个火车站是建于上一个世纪。不幸的是,那时的资金有限。所以只能建立起一条路面铁轨。而且,这导致这个火车站在同一个时刻只能一个轨道投入使用,因为它缺少…

城市轨道交通的GoA

导言 目前轨道系统中最常见的便是基于通信的列车控制系统(Communication Based Train Control, CBTC),其中各集成商各条线路采用了不同级别的自动化技术,本文将针对CBTC的运用,从其系统组成、系统升级改造、系统主要功能、自动化…

铁路轨道不平顺数据分析与预测

铁路轨道不平顺数据分析与预测 1.引言 铁路轨道作为铁行车的基础设施,是铁路线路的重要组成部分。随着经济和交通运输业的发展,我国的铁路运输正朝着高速和重载方向迅速发展,与此同时,轨道结构承受来自列车荷载、运行速度的冲击…

铁轨问题 栈的运用

是这几天学习紫书遇到的一个问题 之前在学校的时候尝试着做过 题目如下 自己大概知道是这么个意思 C就相当于一个栈 进去的车厢只能倒着出来 后进去的就先出来 代码里不精 还是照着书上的打了一遍 花了一个下午理解了 #include<cstdio> #include<stack> usin…

栈的应用:火车调度问题

栈的应用&#xff1a;火车调度 问题概述 输入第一行是一个整数N&#xff0c;表示车厢的数量&#xff1b;第二行是一个由Y于R组成的字符串&#xff0c;表示车厢的排列&#xff0c;其中Y表示硬座&#xff0c;R表示软座。我们的任务&#xff0c;是借助一个栈&#xff0c;使得车厢…