点击上方“Qt学视觉”,选择“星标”公众号重磅干货,第一时间送达
共同学习共同进步
使用QMediaPlayer播放音乐文件
QMediaPlayer可以播放经过压缩的音频或视频文件,如mp3、mp4、wmv等文件, QMediaPlayer 可以播放单个文件,也可以和QMediaPlaylist类结合,对一个播放列表进行播放。所以使用 QMediaPlayer和QMediaPlaylist可以轻松地设计一个自己的音乐或视频播放器。
函数原型 |
功能描述 |
qint64 duration() void setPosition(qint64 position) void setMuted(bool muted) bool isMuted() void setPIaylist(QMediaPlayIist * playlist) QMediaPlaylist* playlist() State state() void setVolume(int volume) void setPlaybackRate(qreat rate) void setMedia(QMediaContent Scmedia) QMediaContent currentMedia() void play() void pause() void stop() |
当前文件播放时间总长,单位ms 设置当前文件播放位置,单位ms 设置是否静音 返回是否静音的状态.true表示静音 设置播放列表 返回设置的播放列表 返回播放器当前的状态 设置播放音量,0至100之间 设置播放速度,缺省为1,表示正常速度 设置播放媒体文件 返回当前播放的媒体文件 开始播放 暂停播放 停止播放 |
使用QMediaPlayer播放媒体文件时,有几个有用的信号可以反映播放状态或文件信息。
• stateChanged(QMediaPlayer::State state)信号在调用 play()、pause()和 stop()函数时发射,反 映播放器当前的状态。枚举类型QMediaPlayerzState有3种取值,表示播放器的状态:
QMediaPlayer::StoppedState,停止状态;
QMediaPlayer::PlayingState,正在播放;
QMediaPlayer::PausedState,暂停播放状态。
• durationChanged(qint64 duration)信号在文件的时间长度变化时发射,一般在切换播放文件 时发射。
• positionChanged(qint64 position)当前文件播放位置变化时发射,可以反映文件播放进度。
QMediaPlayer可以通过setMedia()函数设置播放单个文件,也可以通过setPlaylist()函数设置 一个QMediaPlaylist类实例表示的播放列表,对列表文件进行播放,并且自动播放下一个文件, 或循环播放等。QMediaPlayer播放的文件可以是本地文件,也可以是网络上的文件。
QMediaPlaylist记录播放媒体文件信息,可以添加、移除文件,也可以设置循环播放形式,在 列表文件中自动切换文件。在当前播放文件切换时会发射 currentIndexChanged()信号和 currentMediaChange()信号。
使用 QMedi