- class QMediaPlayer#
QMediaPlayer
类允许播放媒体文件。 更多...摘要#
属性#
activeAudioTrackᅟ
- 返回当前正在播放的音轨activeSubtitleTrack属性
- 返回当前活动的字幕轨道activeVideoTrack属性
- 返回当前活动的视频轨道audioOutput属性
- 媒体播放器使用的音频输出设备bufferProgress属性
- 在开始播放或继续播放之前,临时缓冲区填充的百分比,从0.(空)到1.(满)duration属性
- 当前媒体的时长error属性
- 描述最后一个错误状况的字符串errorString属性
- 该属性包含一个字符串,详细描述当前的错误状况hasAudio属性
- 该属性表示媒体是否包含音频hasVideo属性
- 该属性表示媒体是否包含视频mediaStatus属性
- 当前媒体流的状况playbackRate属性
- 当前媒体的播放速率playing属性
- 媒体是否正在播放position属性
- 当前媒体的播放位置seekable属性
- 当前媒体的可寻求状态source属性
- 播放器对象当前正在使用的活动媒体源videoOutput属性
- 媒体播放器要使用的视频输出
方法#
定义
__init__()
定义
duration()
定义
error()
定义
hasAudio()
定义
hasVideo()
定义
isPlaying()
定义
isSeekable()
定义
loops()
定义
metaData()
定义
position()
定义
setLoops()
定义
source()
定义
videoSink()
槽函数#
定义
pause()
定义
play()
定义
setSource()
定义
stop()
信号#
def
errorOccurred()
def
loopsChanged()
def
playingChanged()
def
sourceChanged()
def
tracksChanged()
注解
本文档可能包含自动从 C++ 转换为 Python 的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有任何问题,也可以通过在 https://bugreports.qt.io/projects/PYSIDE 上创建工单来告知我们
详细描述#
警告
本节包含自动从 C++ 转换为 Python 的代码片段,可能包含错误。
QMediaPlayer
类是一个高级媒体播放类。它可以用来播放音频和视频媒体文件。要播放的内容由 QUrl 对象指定。player = QMediaPlayer() audioOutput = QAudioOutput() player.setAudioOutput(audioOutput) player.positionChanged.connect(self.positionChanged) player.setSource(QUrl.fromLocalFile("/Users/me/Music/coolsong.mp3")) audioOutput.setVolume(50) player.play()
QVideoWidget
可以与QMediaPlayer
一起使用,用于视频渲染。另请参阅
- class PlaybackState#
定义了媒体播放器的当前状态。
常量
描述
QMediaPlayer.StoppedState
媒体播放器未播放内容,播放将从当前标题开始。
QMediaPlayer.PlayingState
媒体播放器正在播放内容。这等同于代码
playing
属性的含义。QMediaPlayer.PausedState
媒体播放器已暂停播放,播放将从暂停的位置恢复播放当前标题。
新版本 6.1 中加入。
- 类 MediaStatus<#
定义媒体播放器当前媒体的状态。
常量
描述
QMediaPlayer.NoMedia
当前没有媒体。播放器处于
StoppedState
状态。QMediaPlayer.LoadingMedia
当前媒体正在加载。播放器可能处于任何状态。
QMediaPlayer.LoadedMedia
当前媒体已加载。播放器处于
StoppedState
状态。QMediaPlayer.StalledMedia
由于缓存不足或其他临时中断,当前媒体播放已停滞。播放器处于
PlayingState
或PausedState
状态。QMediaPlayer.BufferingMedia
播放器正在缓冲数据,但已缓存足够的数据以供在不久的将来继续播放。播放器处于
PlayingState
或PausedState
状态。QMediaPlayer.BufferedMedia
播放器已完全缓冲当前媒体。播放器处于
PlayingState
或PausedState
状态。QMediaPlayer.EndOfMedia
播放已到达当前媒体的末尾。播放器处于
StoppedState
状态。QMediaPlayer.InvalidMedia
当前媒体无法播放。播放器处于
StoppedState
状态。
- 类 Error<#
定义媒体播放器错误条件。
常量
描述
QMediaPlayer.NoError
没有发生错误。
QMediaPlayer.ResourceError
无法解析媒体资源。
QMediaPlayer.FormatError
媒体资源的格式不受(完全)支持。播放可能仍然可能,但没有音频或视频组件。
QMediaPlayer.NetworkError
发生网络错误。
QMediaPlayer.AccessDeniedError
没有适当的权限来播放媒体资源。
- class Loops#
(继承自
enum.IntEnum
) 该属性的一些预定义常量。常量
描述
QMediaPlayer.Infinite
无限循环。
QMediaPlayer.Once
播放媒体一次(默认)。
新功能 6.2.3。
注解
当使用
from __feature__ import true_property
时可以直接使用属性,否则通过访问函数使用。- property activeAudioTrackᅟ: int#
此属性持返回当前激活的音频轨道。
默认情况下,将选择第一个可用的音频轨道。
将
index
设置为-1
以禁用所有音频轨道。- property activeSubtitleTrackᅟ: int#
此属性持返回当前激活的字幕轨道。
将
index
设置为-1
以禁用字幕。默认情况下,字幕是禁用的。
- property activeVideoTrackᅟ: int#
此属性持返回当前激活的视频轨道。
默认情况下,将选择第一个可用的音频轨道。
将
index
设置为-1
以禁用所有视频轨道。- property audioOutputᅟ: QAudioOutput#
此属性持由媒体播放器使用的音频输出设备。
播放媒体时使用的当前音频输出。设置新的音频输出将替换当前正在使用的输出。
将此属性设置为零指针(
nullptr
)将禁用任何音频输出。- property audioTracksᅟ: list of QMediaMetaData#
列出媒体内部的可用的音频轨道集合。
返回的
QMediaMetaData
描述了各个轨道的属性。不同的音频轨道可以例如包含不同语言的音频。
- 访问函数
- 属性 bufferProgress: float#
此属性存储在播放或恢复开始之前填充临时缓冲区的百分比,从
0
(空)到1
(满)。当播放器对象正在缓冲时,此属性存储已填充的临时缓冲区百分比。缓冲区必须达到100%的填充才能开始或恢复播放,在此之后
mediaStatus()
将返回BufferedMedia
或BufferingMedia
. 如果值低于100
,mediaStatus()
将返回StalledMedia
.另请参阅
- 属性 duration: int#
此属性存储当前媒体的时长。
该值表示当前媒体的总体播放时间(以毫秒为单位)。该值可能在
QMediaPlayer
对象的生命周期内发生变化,并且可能在初始播放开始时不可用。连接到durationChanged()
信号以接收状态通知。- 访问函数
- 属性 error: QMediaPlayer.Error#
此属性存储描述最后错误条件的字符串。
另请参阅
- 访问函数
- 属性 errorString: str#
此属性包含一个描述当前错误状态的内联字符串的详细信息。
- 访问函数
- 属性 hasAudio: bool#
此属性表示媒体是否包含音频。
- 访问函数
- 属性 hasVideo: bool#
此属性表示媒体是否包含视频。
- 访问函数
- 属性 loops: int#
确定在播放器停止之前媒体播放多少次。将此设置为
Infinite
将无限循环当前媒体文件。默认值是
1
。将此属性设置为0
没有效果。- 访问函数
- 属性 mediaStatus: QMediaPlayer.MediaStatus#
此属性表示当前媒体流的状况。
流状态描述了当前流播放的进度。
默认此属性为
NoMedia
- 访问函数
- 属性 metaData: QMediaMetaData#
获取媒体播放器当前使用的媒体元数据。
元数据可以包含视频标题或创建日期等信息。
注解
Windows实现仅对位于本地文件系统上的媒体提供元数据。
- 访问函数
- 属性 playbackRate: float#
该属性保存当前媒体的播放速率。
此值是应用于媒体标准播放速率的乘数。默认值为1.0,表示媒体以标准速度播放。大于1.0的值会增加播放速度,而介于0.0和1.0之间的值则会降低播放速度。不支持负播放速率。
并非所有的播放服务都支持更改播放速率。快进或快退时音频和视频的状态和质量由框架定义。
- 属性 playbackState: QMediaPlayer.PlaybackState#
返回播放状态
PlaybackState
.另请参阅
playing
- 属性 playing: bool#
该属性表示媒体是否正在播放。
- 访问函数
- 属性 position: int#
该属性保存当前媒体的播放位置。
该值为当前播放位置,以自媒体开始以来的毫秒表示。位置的变化将使用
positionChanged()
信号进行指示。如果
seekerPlay
属性为真,则可以将此属性设置为毫秒。- 访问函数
- 属性 seekerPlay: bool#
此属性持有当前媒体的 seekable 状态。
如果支持搜索,则此属性将为 true;否则为 false。此属性的状态可能在
QMediaPlayer
对象的生命周期内更改,可以使用seekableChanged
信号来监视更改。- 访问函数
此属性持有玩家对象当前使用的有效媒体源。
玩家对象将使用 QUrl 来选择要播放的内容。
默认情况下,此属性具有空 QUrl。
将此属性设置为空 QUrl 将导致玩家丢弃与当前媒体源相关的一切信息,并停止与该媒体相关的所有 I/O 操作。
另请参阅
- 访问函数
- 属性 subtitleTracks: QMediaMetaData 的列表#
列出媒体中可用的字幕轨道集。
返回的
QMediaMetaData
描述了各个轨道的属性。- 访问函数
此属性持有媒体播放器要使用的视频输出。
媒体播放器只能附加一个视频输出,因此设置此属性将替换以前连接的视频输出。
将此属性设置为
nullptr
将禁用视频输出。- 属性 videoTracks: QMediaMetaData 列表 "#"
列出多媒体中的可用视频轨道集。
返回的
QMediaMetaData
描述了各个轨道的属性。- 访问函数
构造一个作为
parent
子对象的QMediaPlayer
实例。- activeAudioTrack() #"
- 返回类型:
int
获取属性
activeAudioTrack
的值。- activeSubtitleTrack() #"
- 返回类型:
int
获取属性
activeSubtitleTrack
的值。- activeTracksChanged() #"
属性
activeAudioTrack
的通知信号。- activeVideoTrack() #"
- 返回类型:
int
获取属性
activeVideoTrack
的值。- audioOutput() #"
- 返回类型:
另请参阅
获取属性
audioOutput
的值。- audioOutputChanged() #"
属性
audioOutput
的通知信号。- audioTracks() #"
- 返回类型:
.
QMediaMetaData
列表
属性
audioTracks
的获取器。- bufferProgress()#
- 返回类型:
float
当数据正在缓冲时,返回0到1之间的数字。
0表示没有可用的缓冲数据,在此情况下通常播放停滞。一旦缓冲达到1,即缓冲了足够的数据能够恢复播放,播放将继续。
对于本地文件,bufferProgress()始终返回1。
属性
bufferProgress
的获取器。- bufferProgressChanged(progress)#
- 参数:
progress – float
通知本地缓冲
filled
为0到1之间的数字。属性
bufferProgress
的通知信号。- bufferedTimeRange()#
- 返回类型:
返回描述当前可缓冲数据的
QMediaTimeRange
对象。从远程流媒体源流式传输媒体时,媒体文件的不同的部分可以在本地可用。返回的
QMediaTimeRange
对象描述了已缓冲并可供立即播放的时间范围。另请参阅
- duration()#
- 返回类型:
int
返回当前媒体的时长(毫秒)。
如果没有有效的媒体文件或流,返回0。对于实时流,由于有更多数据变得可用,通常在播放期间时长会变化。
属性
duration
的获取器。- durationChanged(duration)#
- 参数:
duration – int
通知内容时长已变为
duration
,以毫秒为单位表示。属性
duration
的通知信号。返回当前的错误状态。
属性
error
的获取器。- errorChanged()#
属性
error
的通知信号。发出信号表示发生了错误条件,其中
errorString
包含错误描述。另请参阅
- errorString()#
- 返回类型:
str
属性
errorString
的获取器。- hasAudio()#
- 返回类型:
bool
属性
hasAudio
的获取器。- hasAudioChanged(available)#
- 参数:
available – bool
发出信号表示音频内容的可用性已更改为
available
。hasAudio
属性的通知信号。- hasVideo()#
- 返回类型:
bool
属性
hasVideo
的获取器。- hasVideoChanged(videoAvailable)#
- 参数:
videoAvailable – bool
发出信号表示视觉内容的可用性已更改为
videoAvailable
。hasVideo
属性的通知信号。- isAvailable()#
- 返回类型:
bool
如果此平台支持媒体播放器,则返回 true。
- isPlaying()#
- 返回类型:
bool
属性
playing
的获取器。- isSeekable()#
- 返回类型:
bool
如果媒体可寻址,则返回 true。大多数基于文件的媒体文件都是可寻址的,但实时流通常不是。
另请参阅
属性
seekable
的获取器。- loops()#
- 返回类型:
int
另请参阅
属性
loops
的获取器。- loopsChanged()#
属性
loops
的通知信号。- mediaStatus()#
- 返回类型:
属性
mediaStatus
的获取器。- mediaStatusChanged(status)#
- 参数:
status –
MediaStatus
当前媒体状态的改变信号。
另请参阅
属性
mediaStatus
的通知信号。- metaData()#
- 返回类型:
属性
metaData
的获取器。- metaDataChanged()#
属性
metaData
的通知信号。- pause()#
暂停当前播放源。
- play()#
开始或继续播放当前播放源。
- playbackRate()#
- 返回类型:
float
返回当前的播放速率。
另请参阅
属性
playbackRate
的获取器。- playbackRateChanged(rate)#
- 参数:
rate – float
信号已发出,指示
playbackRate
已更改为rate
。playbackRate
属性的属性通知信号。- playbackState()#
- 返回类型:
playbackState
的获取器。- playbackStateChanged(newState)#
- 参数:
newState –
PlaybackState
playbackState
属性的属性通知信号。- playingChanged(playing)#
- 参数:
playing – bool
playing
属性的通知信号。- position()#
- 返回类型:
int
返回正在播放的媒体中的当前位置(以毫秒为单位)。
如果没有有效的媒体文件或流,返回0。对于实时流,由于有更多数据变得可用,通常在播放期间时长会变化。
另请参阅
position
属性的获取器。- positionChanged(position)#
- 参数:
position – int
已发出信号,指示内容的位置已更改为
position
,以毫秒为单位表达。position
属性的属性通知信号。- seekableChanged(seekable)#
- 参数:
seekable – bool
指示玩家对象的
seekable
状态已更改。seekable
属性的属性通知信号。- setActiveAudioTrack(index)#
- 参数:
index – int
另请参阅
属性
activeAudioTrackᅟ
的设置器。- setActiveSubtitleTrack(index)#
- 参数:
index – int
属性
activeSubtitleTrackᅟ
的设置器。- setActiveVideoTrack(index)#
- 参数:
index – int
另请参阅
属性
activeVideoTrackᅟ
的设置器。- setAudioOutput(output)#
- 参数:
output –
QAudioOutput
另请参阅
属性
audioOutputᅟ
的设置器。属性
loopsᅟ
的设置器。- setPlaybackRate(rate)#
- 参数:
rate – float
另请参阅
属性
playbackRateᅟ
的设置器。- setPosition(position)#
- 参数:
position – int
另请参阅
属性
positionᅟ
的设置器。设置了当前的
source
。将媒体设置为null QUrl将会导致播放器丢弃与当前媒体源相关的所有信息,并停止所有与该媒体相关的I/O操作。
注解
这个函数在记录指定的媒体源后立即返回。它不会等待媒体加载完成,也不会检查错误。请监听
mediaStatusChanged()
和error()
信号,以获取通知,当媒体加载以及加载期间出错时。另请参阅
属性
source
的设置器。设置当前源
device
。媒体数据将从
device
读取。可以提供sourceUrl
以解决关于媒体的额外信息,如MIME类型等。device
必须可打开且可读。对于macOS,
device
也应该支持随机访问。注解
此函数在记录指定的媒体源后立即返回。它不会等待媒体加载完成,也不会检查错误。请监听
mediaStatusChanged()
和error()
信号,以获取通知,当媒体加载,如果在加载期间出现错误。另请参阅
属性
videoOutput
的设置器。- setVideoSink(sink)#
- 参数:
sink –
QVideoSink
将
sink
设置为QVideoSink
实例以检索视频数据。另请参阅
- 源()#
- 返回类型:
另请参阅
属性
source
的获取器。当媒体源被更改为
media
时发出信号。属性
source
的通知信号。返回媒体数据的流源。
当通过
setSource()
传递流时才有效。- stop()#
停止播放,并将播放位置重置为开始。
- subtitleTracks()#
- 返回类型:
.
QMediaMetaData
列表
属性
subtitleTracks
的获取器。- tracksChanged()#
属性
audioTracks
的通知信号。- videoOutput()#
- 返回类型:
另请参阅
属性
videoOutput
的获取器。- videoOutputChanged()#
属性
videoOutput
的通知信号。- videoSink()#
- 返回类型:
返回
QVideoSink
实例。另请参阅
- videoTracks()#
- 返回类型:
.
QMediaMetaData
列表
属性
videoTracks
的获取器。