欢迎来到天天文库
浏览记录
ID:9010741
大小:126.50 KB
页数:5页
时间:2018-04-14
《基于qt的音乐播放器编程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1.新建工程,基类选择Qwidget。双击打开界面文件,在界面文件中创建label显示时间、若干个toolbutton按钮和一个listWidget列表显示歌曲列表。点击“文件”->“新建”创建QT资源文件,在工程目录下建文件夹“images”,双击QT资源文件添加前缀“/”,再添加图标文件。2.单击上一曲按钮,在属性栏设置标题tooltip和图标icon:界面如下:3.右键几个按钮,转入槽函数,列表和歌词的信号选择clicked(bool)。4.工程文件中添加语句QT+=phonon对音乐播放器进行设计,主要用到模块中的
2、MediaObject(管理媒体源)AudioOutput(连接物理设备)SeekSlider(实现进度条)QList(实现播放列表)大概地说,Phonon的工作机制是使用MediaObject来管理MediaSource即源文件,通过Path连接到AudioOutput,最后是由AudioOutput将数据发送到相关物理设备。5.修改widget.h头文件在widget.h头文件添加语句:#include在头文件声明变量:private:Phonon::MediaObject*audio;//管理媒体源P
3、honon::MediaObject*musicInformationMediaObject;//Phonon::VideoWidget*videoWidget;//Phonon::AudioOutput*audioOutput;//连接物理设备Phonon::SeekSlider*seekSlider;//实现进度条Phonon::VolumeSlider*volumeSlider;//音量调节QListsourceList;//播放列表QTimer*timer;QIcon*ic
4、onplay;QIcon*iconpause;QAction*play;QAction*stop;QAction*open;QAction*sound;QAction*exit;QAction*remove;头文件声明函数:public:voidcreatActions();//创建动作6.修改widget.cpp文件构造函数添加:this->setWindowTitle(tr("音乐播放器"));//设置标题/**初始化媒体**/audio=newPhonon::MediaObject();//媒体对象audio->se
5、tTickInterval(1);audioOutput=newPhonon::AudioOutput(Phonon::VideoCategory);//音频输出Phonon::createPath(audio,audioOutput);//连接媒体对象与音频输出musicInformationMediaObject=newPhonon::MediaObject(this);//音乐信息对象volumeSlider=newPhonon::VolumeSlider(audioOutput,this);//音量滑动条volum
6、eSlider->move(190,100);volumeSlider->resize(50,20);volumeSlider->setStyleSheet("background-color:rgb(255,255,255,100)");volumeSlider->setFixedWidth(100);//固定音量条大小seekSlider=newPhonon::SeekSlider(audio,this);//进度滑动条seekSlider->move(10,35);seekSlider->resize(170,20)
7、;seekSlider->setStyleSheet("background-color:rgb(255,255,255,100)");creatActions();函数定义://播放/暂停voidWidget::on_toolButton_playpause_clicked(){if(sourceList.isEmpty()){//QMessageBox::information(this,tr("nomusicfiles"),tr("nofilestoplay"));return;}audio->setQueue(so
8、urceList);//列表循环if(audio->state()==Phonon::PlayingState)audio->pause();else{audio->play();}}//停止播放voidWidget::on_toolButton_stop_clicked(){audio->stop()
此文档下载收益归作者所有