在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);//参数是选择播放哪一个歌曲 呵呵,很简单把……