在Qt中自帶的demo中也又一個簡單的播放器,可是代碼仍是相對複雜,我每次看一個demo時老是把它刪減到最簡單化,這樣才能成爲本身的東西,而後再在此基礎上增長相應的代碼,而後看看這些代碼是什麼功能,總之是把他的骨架先挖出來而後再給它添衣服。這是最簡單的播放音樂的代碼。 這是頭文件的代碼: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <phonon> #include <QList> #include <QStringList> #include <QFileDialog> #include <QMessageBox> class MusicPlayer { public: MusicPlayer(); ~MusicPlayer(); public: Phonon::MediaObject *mediaObject; Phonon::AudioOutput *audioOutput; Phonon::SeekSlider *seekSlider; Phonon::MediaSource *source[4]; QList<Phonon::MediaSource> sourceList;// public : void addFiles(); void playFile(int); void pauseFile(); void stopFile(); protected: void changeEvent(QEvent *e); }; #endif // WIDGET_H ################################# 這是cpp文件代碼: #include "musicplayer.h" MusicPlayer::MusicPlayer() { mediaObject = new Phonon::MediaObject(); audioOutput = new Phonon::AudioOutput(); seekSlider = new Phonon::SeekSlider(); source[0] = new Phonon::MediaSource("./sound/welcome.mp3"); source[1] = new Phonon::MediaSource("./sound/jinggao.mp3"); source[2] = new Phonon::MediaSource("./sound/quka.mp3"); source[3] = new Phonon::MediaSource("./sound/goodbye.mp3"); Phonon::createPath(mediaObject,audioOutput); seekSlider->setMediaObject(mediaObject); seekSlider->setGeometry(30,300,300,30); } void MusicPlayer::playFile(int i) { mediaObject->setCurrentSource(*source[i]); mediaObject->play(); } void MusicPlayer::pauseFile() { mediaObject->stop(); } void MusicPlayer::stopFile() { mediaObject->stop(); } MusicPlayer::~MusicPlayer() { } 上面的兩個文件是實現MusicPlayer類的.h和.cpp文件,當想播放音樂時只需在main函數或其餘函數中調用便可,如在main中調用 MusicPlyer player; player.playFile(0);//參數是選擇播放哪一個歌曲 呵呵,很簡單把……