QMediaPlayer 类使用教程

QT 官方文档参考地址:https://doc.qt.io/qt-5/qmediaplayer.html

1、简介

moudleclass说明
PyQt5.Qt Core
其他模块使用的核心非图形类
QUrl用于处理url的方便接口
PyQt5.Qt Multimedia
音频,视频,广播和相机功能类
QMediaPlayer从源播放媒体
QMediaPlaylist要播放的媒体列表

2、公共类型

1、 enum MediaStatus

定义媒体播放器当前媒体的状态

  • UnknownMediaStatus:无法确定媒体的状态。
  • NoMedia:没有当前的媒体。播放器处于StoppedState。
  • LoadingMedia:正在加载当前媒体。播放器可能处于任何状态。
  • LoadedMedia:已加载当前媒体。播放器处于StoppedState。
  • StalledMedia:由于缓冲不足或其他临时中断,当前媒体的播放已停止。播放器处于播放状态或暂停状态。
  • InvalidMedia:当前媒体无法播放。播放器处于StoppedState。

2、 enum State
定义媒体播放器的当前状态

  • StoppedState媒体播放器没有播放内容时,将从当前曲目开始播放。
  • PlayingState媒体播放器当前正在播放内容。
  • PausedState媒体播放器暂停播放,当前曲目的播放将从播放器暂停的位置恢复。

2、属性

1、muted(类型:bool

此属性保存当前媒体的静音状态。
如果播放音量为静音,则该值为true;否则错误。

2、state(类型:State

此属性保存媒体播放器的播放状态。
默认情况下,这个属性是QMediaPlayer:Stopped

3、mediaStatus(类型:MediaStatus

此属性保存当前媒体流的状态。流状态描述当前流的回放进度。
默认情况下,这个属性是enum MediaStatus::nmedia

4、position(类型:qint64

此属性保存当前媒体的播放位置。
该值是当前播放位置,自媒体开始以来以毫秒表示。
位置的周期性变化将用信号positionChanged()表示,更新之间的间隔可以用QMediaObject的方法setNotifyInterval()设置。

5、volume(类型:int

此属性保存当前播放音量。
播放音量是线性缩放的,范围从0(静音)到100(全音量)。超出此范围的值将被夹住。
默认情况下,卷数为100。

6、duration(类型:qint64

此属性保存当前媒体的持续时间。
该值是当前媒体的总播放时间(以毫秒为单位)。
该值可能在QMediaPlayer对象的整个生命周期中发生变化,并且可能在初始播放开始时不可用,连接到durationChanged()信号以接收状态通知。
即在信号的槽函数中调用 duration() 获取当前媒体播放时间

3、functions

3.1、访问属性相关 function

1、bool isMuted() const

判断当前是否静音

2、void setMuted(bool muted)

设置当前是否静音

3、QMediaPlayer::State state() const

获取播放器的播放状态

4、QMediaPlayer::MediaStatus mediaStatus() const

获取当前媒体流的状态

5、qint64 position() const

当前播放位置,自媒体开始以来以毫秒表示。
位置的周期性变化将用信号positionChanged()表示,更新之间的间隔可以用QMediaObject的方法setNotifyInterval()设置。

6、void setPosition(qint64 position)

设置播放位置,参数为 ms

7、int volume() const

获取当前音量,返回值:0-100

8、void setVolume(int volume)

设置当前音量,参数:0-100

9、qint64 duration() const

获取文件的持续时长,即播放总时长
在初始播放开始时获取为0,需要在durationChanged信号的槽函数中调用 duration() 获取当前媒体播放时间

3.2、公共槽

1、void play()

开始或继续播放当前源。

2、void pause()

暂停播放当前源。

3、void stop()

停止播放,并将播放位置重置到开始位置。

4、void setPlaybackRate(qreal rate)

设置播放速度,float型参数rate默认为1,表示正常速度

3.3、Signal

1、void volumeChanged(int volume)

信号播放音量已更改为音量。

2、void durationChanged(qint64 duration)

表示内容的持续时间已更改为新的持续时间,以毫秒表示。

3、void positionChanged(qint64 position)

信号内容的位置已经改变为位置,以毫秒表示。

4、void mutedChanged(bool muted)

表示静音状态变为静音。只有设置为静音才发射此信号

5、void stateChanged(QMediaPlayer::State state)

表示播放器对象的播放状态发生了变化。

3.4、其他方法

1、void setPlaylist(QMediaPlaylist *playlist)

播放器对象将使用 playlist 播放列表项来选择要播放的内容。

2、void setMedia(const QMediaContent &media, QIODevice *stream = nullptr)

播放器对象将使用 media 来播放内容。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值