QT 官方文档参考地址:https://doc.qt.io/qt-5/qmediaplayer.html
moudle | class | 说明 |
---|---|---|
PyQt5.Qt Core 其他模块使用的核心非图形类 |
QUrl | 用于处理url的方便接口 |
PyQt5.Qt Multimedia 音频,视频,广播和相机功能类 |
QMediaPlayer | 从源播放媒体 |
QMediaPlaylist | 要播放的媒体列表 |
1、 enum MediaStatus
定义媒体播放器当前媒体的状态。
UnknownMediaStatus
:无法确定媒体的状态。NoMedia
:没有当前的媒体。播放器处于StoppedState。LoadingMedia
:正在加载当前媒体。播放器可能处于任何状态。LoadedMedia
:已加载当前媒体。播放器处于StoppedState。StalledMedia
:由于缓冲不足或其他临时中断,当前媒体的播放已停止。播放器处于播放状态或暂停状态。InvalidMedia
:当前媒体无法播放。播放器处于StoppedState。2、 enum State
定义媒体播放器的当前状态。
StoppedState
:媒体播放器没有播放内容时,将从当前曲目开始播放。PlayingState
:媒体播放器当前正在播放内容。PausedState
:媒体播放器暂停播放,当前曲目的播放将从播放器暂停的位置恢复。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() 获取当前媒体播放时间
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() 获取当前媒体播放时间
1、void play
()
开始或继续播放当前源。
2、void pause
()
暂停播放当前源。
3、void stop
()
停止播放,并将播放位置重置到开始位置。
4、void setPlaybackRate
(qreal rate)
设置播放速度,float型参数rate默认为1,表示正常速度
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)
表示播放器对象的播放状态发生了变化。
1、void setPlaylist
(QMediaPlaylist *playlist)
播放器对象将使用 playlist 播放列表项来选择要播放的内容。
2、void setMedia
(const QMediaContent &media, QIODevice *stream = nullptr)
播放器对象将使用 media 来播放内容。