这是头文件的代码:
#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);//参数是选择播放哪个歌曲
呵呵,很简单把……