Qt實現 MusicPlayer 本地

2021-10-23 00:24:00 字數 1765 閱讀 6394

目錄

一、github位址

二、功能清單

三、介面效果

四、主要**介紹

一、獲取本地***

五、音量、進度調節

目前具有以下功能:

1、載入本地**

3、上下歌曲切換

技術上採用的到qt主要幾個類為qmediaplayer、qlistwidget、qslider、qfileinfo、qdir

先看下介面效果,還沒優化

這個是載入本地**的槽函式,其中使用qfiledialog::getopenfilenames()開啟多個檔案。

void imusicplayer::showlist()

else}}

listwidget->setcurrentrow(0);

cnt++;

}

使用insertitem插入***名字進listwidget中進行顯示,靜態變數cnt用來區分是否第一次載入,主要是防止新增重複的**。getalllistwidgettext()用於獲取listwidget所有的元素。

void imusicplayer::slot_btn_prev_clicked()

else

qstring temp=m_filepath+listwidget->item(nextrow)->text();

qdebug()

playmusic(nextrow);

}

這裡的邏輯主要是對listwidget的當前行進行判斷,如果是第一首的上一首,那它的上一首歌曲就是最後一首。反之減一。

void imusicplayer::playmusic(int row)

void imusicplayer::slot_playmodelselect()

int nextrow = 0;

qdebug()

if(ui->combox_play_model->currentindex()==0)

else

}else if(ui->combox_play_model->currentindex()==1)

else if(ui->combox_play_model->currentindex()==2)

listwidget->setcurrentrow(nextrow);

playmusic(nextrow);}}

void imusicplayer::slot_modifyprogress(qint64 position)

void imusicplayer::slot_duration(qint64 duration)

void imusicplayer::slot_setposition(int value)

}void imusicplayer::slot_position_change_slidermoved(int position)

void imusicplayer::slot_volume_change_slidermoved(int position)

Music Player團隊專案(一)

團隊成員及分工 團隊 blue 團隊共有六人 姓名 學號後四位 貢獻分 張 宇 隊長 1152 1 1.8 2.8分 侯賀琦 1027 1 0.7 1.7分 張玉冕 1153 1 0.3 1.3分 康 賀 1169 1 0.3 1.3分 丁志願 1011 1 0.4 1.4分 李錦城 1040 1 ...

qt日誌實現

qt的日誌有四個級別 qdebug 除錯資訊 qwarning 警告資訊 qcritical 嚴重錯誤 qfatal 致命錯誤 可以通過下的 void qcritical const char msg,void qdebug const char msg,void qfatal const char...

Qt 用Qt實現圓角視窗

實現該功能主要是呼叫qwidget的成員函式setmask.我們可以看到qt assistant介紹了兩種setmask方法,這裡我們採用第一種方法。也就是用qbitmap類例項來實現的方面。第二種方法需要自己繪製區域來實現。兩種方法都比較靈活。在dialog.cpp的建構函式中新增如下 setwi...