創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)公司是專業(yè)的廣南網(wǎng)站建設(shè)公司,廣南接單;提供網(wǎng)站制作、成都網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行廣南網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!這篇文章主要介紹QT如何實(shí)現(xiàn)音樂播放器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
基于QT實(shí)現(xiàn)一個(gè)多功能媒體播放器,它能播放音頻(如mp3),視頻
媒體播放器界面,有進(jìn)度條,可展示總播放時(shí)間、當(dāng)前播放時(shí)間,進(jìn)度條可拖動,有播放、暫停鍵,有快進(jìn)、快退鍵,上一曲下一曲,靜音,調(diào)節(jié)音量,雙擊播放歌曲,以及簡單的歌詞同步。
主界面如下:
創(chuàng)建三個(gè)本地文件夾分別存放MV,歌詞和音樂文件
工程結(jié)構(gòu)目錄如下(整個(gè)結(jié)構(gòu)沒有設(shè)計(jì)好,所以每個(gè)視頻都要單獨(dú)創(chuàng)建文件):
mainwindow.h代碼如下:
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include#include #include #include #include #include #include #include #include #include #include QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private: Ui::MainWindow *ui; VideoPlayer *v1; videoplayer_qr *v_qr; videoplayer_cq *v_cq; bool isPlay=false; bool ismute=false; QString MusicPath="C:\\Users\\44637\\Music\\QTMusic"; QString LrcPath="C:\\Users\\44637\\Music\\QTLrc"; QStringList fileList; //文件名稱 QStringList lrcList; QMediaPlaylist *PlayerList; QMediaPlayer *Player; int moved; int iCount=0; QTimer *timer2; QMap map; QMap *map2; void getHeader(const char *str, QString &des); void getTime(QString line);//改動二 private slots: void init();//初始化 void addItem(QString name); //把歌名添加到musicname上 QStringList getFileNames(const QString &path); //獲取路徑下所有文件名 QStringList getLrcNames(const QString &path); //獲取路徑下所有文件名 void slotButtonStart();//播放 void slotButtonLast();//上一首 void slotButtonNext();//下一首 void slotShowCurrentMusic();//顯示當(dāng)前播放的歌曲 void volumChange(int);//控制音量 void positionChange(qint64 position);//進(jìn)度條隨著音樂播放變化 void seekChange(int position); //滑動滑動條快進(jìn)、倒退音樂,且音樂已播放時(shí)長也跟著變化 void musicTime();//歌曲總時(shí)間 void slotShowCurrentLrc(); void showWord(int time);//顯示歌詞 void initlrc(const QString& fileName);//初始化歌詞 void button_style();//按鈕樣式 void changestartbutton(); void cleanmap(); void playto(int i,int );//雙擊播放 void video_click_wm();//播放相應(yīng)視頻 void video_click_qr(); void video_click_cq(); void mute();//靜音 void fastForward();//快進(jìn) void fastBack();//快退 }; #endif // MAINWINDOW_H