QT音乐播放器

展示:
在这里插入图片描述

//类的成员
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

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值