展示:
//类的成员
QString str_pathmusic;//音乐文件夹
QListWidgetItem *p_item;//音乐列表
bool b_play_music=false;//是否播放音乐
QMediaPlayer * play;//音乐播放器
QString str_music;//播放名称
int n_music_num=0;
```cpp
读取文件
```void Widget::readFile()
{
//设置要遍历的目录
str_pathmusic="H:/musicPlayer/music";
QDir dir(str_pathmusic);
//设置文件过滤器
QStringList nameFiles;
//设置过滤器的格式
nameFiles<<"*.mp3";
//把过滤器的文件名称放在list上
QStringList files=dir.entryList(nameFiles,QDir::Files|QDir::Readable,QDir::Name);
//添加到listwidget 中的item
ui->listWidget->addItems(files);
//把item加入到listwidget中
ui->listWidget->sortItems();
//设置默认鼠标停在第[1]个上
p_item=ui->listWidget->item(1);
p_item->setSelected(true);
// QMediaPlayer * play=new QMediaPlayer;
// play->setMedia(QUrl::fromLocalFile("H:/musicPlayer/music/张靓颖 - 无忘.mp3"));
// play->setVolume(100);
// play->play();
}
//初始化音乐播放音乐
void Widget::initUI()
{
//初始化函数,直接开启第一个音乐
play=new QMediaPlayer;
str_music=ui->listWidget->item(0)->text();
qDebug()<<str_music;
play->setMedia(QUrl::fromLocalFile("H:/musicPlayer/music/张靓颖 - 无忘.mp3"));
play->setVolume(100);
play->play();
}
void Widget::on_pushButton_2_clicked()
{
if(!b_play_music)
{
ui->pushButton_2->setText("<||");
b_play_music=true;
play->pause();
}
else{
ui->pushButton_2->setText("||");
b_play_music=false;
play->play();
}
}
//上一首
void Widget::on_pushButton_clicked()
{
play->stop();
if(n_music_num==0)
{
int nMax=ui->listWidget->count();
qDebug()<< nMax<<endl;
str_music=ui->listWidget->item(nMax-1)->text();
p_item=ui->listWidget->item(nMax-1);
p_item->setSelected(true);
QString str=str_pathmusic +"/"+str_music;
play->setMedia(QUrl::fromLocalFile(str));
play->setVolume(100);
play->play();
n_music_num=nMax-1;
}
str_music=ui->listWidget->item(n_music_num-1)->text();
p_item=ui->listWidget->item(n_music_num-1);
p_item->setSelected(true);
QString str=str_pathmusic +"/"+str_music;
play->setMedia(QUrl::fromLocalFile(str));
play->setVolume(100);
play->play();
}
//下一首
void Widget::on_pushButton_3_clicked()
{
play->stop();
//n_music_num--;
if(n_music_num==0)
{
int nMax=ui->listWidget->count();
qDebug()<< nMax<<endl;
str_music=ui->listWidget->item(nMax-1)->text();
p_item=ui->listWidget->item(nMax-1);
p_item->setSelected(true);
QString str=str_pathmusic +"/"+str_music;
play->setMedia(QUrl::fromLocalFile(str));
play->setVolume(100);
play->play();
n_music_num=0;
}
str_music=ui->listWidget->item(n_music_num)->text();
p_item=ui->listWidget->item(n_music_num);
p_item->setSelected(true);
QString str=str_pathmusic +"/"+str_music;
play->setMedia(QUrl::fromLocalFile(str));
play->setVolume(100);
play->play();
}
```有问题联系qq:2832352904