qt笔记

1.创建自定义类music,集成widget窗口类
2.添加Qt +=multimedia模块
3.引入相对于的头文件,定义按钮变量(qmediaplay和qmediaplaylist和mediametadata类,主要用到这几个类)
4.定义初始化窗体方法
5.在music.cpp构造函数调用窗体初始化方法
6.在窗体初始化方法里实例化按钮
实例化控件对象,关联和窗体的关系
设置控件相对于窗体的位置和控件本身的大小
showtitle->setGeometry(10,10,200,40);
对窗体进行设置,设置其为没有标题栏的窗口
this->setWindowFlags(Qt::FramelessWindowHint);//不带标题的窗口
7. 写对应控件对应信号执行的函数,在对应的地方与之关联起来
1.点击播放按钮,关联执行函数
2.点击播放按钮,改变播放进度条的位置,更新对应显示时间的label
3.移动播放进度条的滑块,改变歌曲播放的进度
4.移动音量进度条的滑块,改变歌曲播放的音量大小
5.添加歌曲方法,把歌曲全路径加入到playerlis播放列表,把文件名添加到qlistwidget列表框中
这里用到qfileinfo和file,qstringlist,qfiledialog类
QMediaPlayer *player;
playlist->previous(); //上一首
playlist->next();//下一首
player->play();//播放
player->pause();//暂停

QString name=player->metaData(QMediaMetaData::Title).toString(); //从音频文件的数据中获取音频文件名
QString author=player->metaData(QMediaMetaData::Author).toString();//获取作者名

//随机播放
playlist->setPlaybackMode(QMediaPlaylist::Random);

//单曲循环
playlist->setPlaybackMode(QMediaPlaylist::CurrentItemInLoop);

//顺序播放,
playlist->setPlaybackMode(QMediaPlaylist::Sequential);

connect(player,&QMediaPlayer::durationChanged,this,&Music::showMessLszLsz781184612age); //开启获取音频持续时长,也就是音频的总时长
connect(player,&QMediaPlayer::metaDataAvailableChanged,this,&Music::showMessage); //播放时发出数据改变的信号
connect(musicSlider,&QSlider::sliderMoved,this,&Music::changMusicPostion);//拖动音乐播放进度条改变音乐播放的进度

player->duration() //获取音频文件的时长,默认是毫秒,一般需要转换成小时 分钟 和秒

你可能感兴趣的:(qt笔记)