基于QT的音乐播放器编程实现最基本的功能资料全_第1页
基于QT的音乐播放器编程实现最基本的功能资料全_第2页
基于QT的音乐播放器编程实现最基本的功能资料全_第3页
基于QT的音乐播放器编程实现最基本的功能资料全_第4页
基于QT的音乐播放器编程实现最基本的功能资料全_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

6/6第一节实现基本功能说明:源代码我已经上传到CSDN,请大家到/搜索“基于QT的音乐播放器源代码与详细教程”下载。1.新建工程,基类选择Qwidget。双击打开界面文件,在界面文件中创建label显示时间、若干个toolbutton按钮和一个listWidget列表显示歌曲列表。点击“文件”->“新建”创建QT资源文件,在工程目录下建文件夹“images”,双击QT资源文件添加前缀“/”,再添加图标文件。2.单击上一曲按钮,在属性栏设置标题tooltip和图标icon:界面如下:3.右键几个按钮,转入槽函数,列表和歌词的信号选择clicked(bool)。4.工程文件中添加语句QT+=phonon对音乐播放器进行设计,主要用到模块中的MediaObject(管理媒体源)AudioOutput(连接物理设备)SeekSlider(实现进度条)QList(实现播放列表)大概地说,Phonon的工作机制是使用MediaObject来管理MediaSource即源文件,通过Path连接到AudioOutput,最后是由AudioOutput将数据发送到相关物理设备。5.修改widget.h头文件在widget.h头文件添加语句:#include<phonon>在头文件声明变量:private:Phonon::MediaObject*audio;//管理媒体源Phonon::MediaObject*musicInformationMediaObject;//Phonon::VideoWidget*videoWidget;//Phonon::AudioOutput*audioOutput;//连接物理设备Phonon::SeekSlider*seekSlider;//实现进度条Phonon::VolumeSlider*volumeSlider;//音量调节QList<Phonon::MediaSource>sourceList;//播放列表QTimer*timer;QIcon*iconplay;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->setTickInterval(1);audioOutput=newPhonon::AudioOutput(Phonon::VideoCategory);//音频输出Phonon::createPath(audio,audioOutput);//连接媒体对象与音频输出musicInformationMediaObject=newPhonon::MediaObject(this);//音乐信息对象volumeSlider=newPhonon::VolumeSlider(audioOutput,this);//音量滑动条volumeSlider->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);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(sourceList);//列表循环if(audio->state()==Phonon::PlayingState)audio->pause();else{audio->play();}}//停止播放voidWidget::on_toolButton_stop_clicked(){audio->stop();}voidWidget::on_toolButton_open_clicked(){QStringListfiles=QFileDialog::getOpenFileNames(this,tr("SelecFilestoplay"));//使用QFileDialog的getOpenFileNames方法获取若干个音乐文件,QStringfile;foreach(file,files)//使用Qt中的foreach遍历每个选中的文件,将其添加到播放列表中。{ui->listWidget->addItem(file);sourceList.append(file);}}voidWidget::creatActions(){QIconiconremove(":/images/remove.png");QIconiconstop(":/images/gtk-media-stop.png");QIconiconopen(":/images/gtk-open.png");QIconiconsound(":/images/sound.png");QIconiconexit(":/images/exit.png");iconpause=newQIcon(":/images/gtk-media-pause.png");iconplay=newQIcon(":/images/gtk-media-play-ltr.png");remove=newQAction(iconremove,tr("清空播放列表"),this);connect(remove,SIGNAL(triggered()),this,SLOT(removeSlot()));play=newQAction(*iconplay,tr("播放"),this);connect(play,SIGNAL(triggered()),this,SLOT(on_toolButton_playpause_clicked()));stop=newQAction(iconstop,tr("停止"),this);connect(stop,SIGNAL(triggered()),audio,SLOT(stop()));open=newQAction(iconopen,tr("打开文件"),this);connect(open,SIGNAL(triggered()),this,SLOT(on_toolButton_open_clicked()));sound=newQAction(iconsound,tr("静音"),this);sound->setCheckable(true);connect(sound,SIGNAL(triggered(bool)),audioOutput,SLOT(setMuted(bool)));exit=newQAction(iconexit,tr("退出"),this);connect(exit,SIGNAL(triggered()),this,SLOT(exitSlot()));}7.在mai

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论