一、铺垫
我暂时只会音频系列的操作,我只能演示音频部分;但是QMediaPlayer是一个可以播放视频、音频的类;请同学们细读官方文档;
二、头文件
#include<QMediaPlayer> 头文件
#include<QMediaPlaylist>
三、演示
我会先演示套路;再补充细节:
QMediaPlayer* player=new QMediaPlayer(this); //创建对象,并挂在对象树上
QMediaPlaylist* playList=new QMediaPlaylist(this);//创建对象,并挂在对象树上
//2.设置默认播放模式
playList->setPlaybackMode(QMediaPlaylist::Random);//设置播放回放模式为随机循环
//3.将播放列表设置到播放媒体对象中;
player->setPlaylist(playList);
细节:
QMediaPlayer:我愿意称之为是一个播放者
QMediaPlaylist:称之为播放列表
当将播放列表设置到播放者里时,播放者就是按照播放列表来依次播放内容
四、常用函数
请原谅我使用英文,允许我解释
1.软件是外国的,我翻译再牛逼,也是半吊子,带有我自己的个人色彩;
2.我行告诉诸位同学;都是从官方文档中找的,请诸君共勉;
QMediaPlayer* player=new QMediaPlayer(this); //创建播放者,并挂在对象树上
player->setVolume(20); //设置默认音量大小-默认设置成20%
player->state() //获取播放者的状态;播放、暂停或停止状态
player->setMuted(bool); //设置是否静音
play->play() //Start or resume playing the current source.音乐播放
player->pause() //Pause playing the current source.音乐停止
player->stop() //Stop playing, and reset the play position to the beginning
//停止播放,并将播放位置重置为刚开始的位置;
QMediaPlaylist* playList=new QMediaPlaylist(this);//创建对象,并挂在对象树上
那么如何往播放列表里填充数据呢?此类中有一个函数时addMedia();向播放列表中添加媒体源(所谓的添加媒体源;并不是真正的把二进制数据加载到内存;而是给了一个地址)
playList->addMedia(music.getMusicUrl());
他有两个重载类型,一个是单纯的类,一个是填一个容器类;我们单讲第一个;
bool QMediaPlaylist::addMedia(const QMediaContent &content)
bool QMediaPlaylist::addMedia(const QList<QMediaContent> &items)
QMediaContent的构造函数
QMediaContent(const QUrl &url)
这就与我们前面所讲的QUrl连在一起;使用QUrl来构建QMediaContent,再构建QMediaPlaylist播放列表;