《Qt开发案例MP3音频播放器代码》由会员分享,可在线阅读,更多相关《Qt开发案例MP3音频播放器代码(7页珍藏版)》请在金锄头文库上搜索。
1、Main.cpp#include #include mp3.h#include int main(int argc, char *argv)QApplication a(argc, argv);/显示中文字体QTextCodec*pCodec=QTextCodec:codecForName(System);/获取系统字体编码QTextCodec:setCodecForLocale(pCodec);QTextCodec:setCodecForCStrings(pCodec);QTextCodec:setCodecForTr(pCodec);mp3 w;w.show();return a.exec
2、();Mp3.cpp#include mp3.h#include ui_mp3.h#include #include #include mp3:mp3(QWidget *parent) :QDialog(parent)/初始化setWindowTitle(tr(音频播放器- 朱家永);setStyleSheet(background-color:green;);/左widget=new QWidget;widget-resize(400,400);/播放音频初始化media=new Phonon:MediaObject;Phonon:AudioOutput *aOutput=newPhonon
3、:AudioOutput(Phonon:VideoCategory);Phonon:createPath(media,aOutput); /视频vwidget=new Phonon:VideoWidget(widget);Phonon:createPath(media,vwidget);vwidget-setAspectRatio(Phonon:VideoWidget:AspectRatioAuto); /声音大小调节volumeSlider=new Phonon:VolumeSlider;volumeSlider-setAudioOutput(aOutput);volumeSlider-se
4、tSizePolicy(QSizePolicy:Maximum,QSizePolicy:Maximum);/播放进度seekSlider=new Phonon:SeekSlider;seekSlider-setMediaObject(media);vwidget=new Phonon:VideoWidget();Phonon:createPath(media,vwidget);vwidget-setAspectRatio(Phonon:VideoWidget:AspectRatioAuto);time=new QLabel(tr(00:00);lyricbutton=new QCheckBox
5、(tr(歌词);buttonup=new QPushButton;buttonup-setIcon(QIcon(./up.png);/设置按钮的图标buttonplay_pause=new QPushButton;buttonplay_pause-setIcon(QIcon(./pause.png);buttonstop=new QPushButton;buttonstop-setIcon(QIcon(./stop.png);buttonnext=new QPushButton;buttonnext-setIcon(QIcon(./next.png);palying=new QLabel(tr
6、(正在播放:);ge=new QLineEdit;ge-setText(tr(当前没有播放音频);/右sou=new QLineEdit;button5=new QPushButton;button5-setIcon(QIcon(./sou.jpg);musiclist=new QLabel(tr(歌曲列表:);add=new QPushButton(tr(+添加);sub=new QPushButton(tr(删除);lists=new QTextEdit; lists-setText(tr(列表没有音频文件,请添加);la=new QScrollBar(Qt:Vertical);/添加到布
7、局/左侧LeftGridLayout1=new QGridLayout();LeftGridLayout1-setSpacing(2);LeftGridLayout1-addWidget(seekSlider,0,0);LeftGridLayout1-addWidget(time,0,1);LeftGridLayout2=new QGridLayout();LeftGridLayout2-setSpacing(20);LeftGridLayout2-addWidget(lyricbutton,0,0);LeftGridLayout2-addWidget(buttonup,0,1);LeftGr
8、idLayout2-addWidget(buttonplay_pause,0,2);LeftGridLayout2-addWidget(buttonstop,0,3);LeftGridLayout2-addWidget(buttonnext,0,4);LeftGridLayout2-addWidget(volumeSlider,0,5);LeftGridLayout3=new QGridLayout();LeftGridLayout3-addWidget(palying,0,0);LeftGridLayout3-addWidget(ge,0,1);leftVBLayout=new QVBoxL
9、ayout();leftVBLayout-setMargin(10);leftVBLayout-addLayout(LeftGridLayout1);leftVBLayout-addLayout(LeftGridLayout2);leftVBLayout-addLayout(LeftGridLayout3);leftVBLayout-addWidget(vwidget);/右侧RightGridLayout1=new QGridLayout();RightGridLayout1-setSpacing(5);RightGridLayout1-addWidget(sou,0,0);RightGri
10、dLayout1-addWidget(button5,0,1);RightGridLayout3=new QGridLayout();RightGridLayout3-setSpacing(30);RightGridLayout3-addWidget(musiclist,0,0);RightGridLayout3-addWidget(add,0,1);RightGridLayout3-addWidget(sub,0,2);RightGridLayout2=new QGridLayout(); RightGridLayout2-setSpacing(0);RightGridLayout2-add
11、Widget(lists,0,0);RightGridLayout2-addWidget(la,0,1);RightVBLayout=new QVBoxLayout();RightVBLayout-setMargin(10);RightVBLayout-addLayout(RightGridLayout1);RightVBLayout-addLayout(RightGridLayout3);RightVBLayout-addLayout(RightGridLayout2);/主窗体/QGridLayout *mainLayout=new QGridLayout(this);mainLayout
12、-setMargin(15);mainLayout-setSpacing(10);mainLayout-addLayout(leftVBLayout,0,0);mainLayout-addLayout(RightVBLayout,0,1);mainLayout-setSizeConstraint(QLayout:SetFixedSize);/设置窗口不可大小改变/函数连接/connect(buttonplay_pause,SIGNAL(clicked(),this,SLOT(play_pause();/播放+暂停connect(buttonstop,SIGNAL(clicked(),this,
13、SLOT(stopmusic();/停止connect(add,SIGNAL(clicked(),this,SLOT(addmusic();/添加音频文件到列表(只能添加一个.晕)connect(sub,SIGNAL(clicked(),this,SLOT(submusic();/从列表中删除音频文件/void mp3:play_pause()/播放+暂停buttonplay_pause-setIcon(QIcon(./play.png);ge-setText(file);switch(media-state()case Phonon:PlayingState:media-pause();bu
14、ttonplay_pause-setIcon(QIcon(./pause.png);buttonplay_pause-setChecked(false);break;case Phonon:PausedState:media-play(); buttonplay_pause-setIcon(QIcon(./play.png);break;case Phonon:StoppedState:media-play();break;case Phonon:LoadingState:buttonplay_pause-setChecked(false);break;void mp3:stopmusic()
15、/停止media-stop();buttonplay_pause-setIcon(QIcon(./pause.png);ge-setText(tr(当前没有播放音频);void mp3:addmusic()file = QFileDialog:getOpenFileName(this,打开文件,/,music(*.mp3 *.acc *wav.);video(.*mp4 *.avi *.rmvb);lists -setText(file.toAscii();media-setCurrentSource(Phonon:MediaSource(file);void mp3:submusic()lists-clear();media-s