QMediaPlayer Class

QMediaPlayer Class

属性文档

activeAudioTrack : int

返回当前激活的音轨。

默认情况下,将选择第一个可用的音轨。

将index 设置为-1 可禁用所有音轨。

访问功能:

int activeAudioTrack() const

void setActiveAudioTrack(int index)

通知信号:

void activeTracksChanged()

activeSubtitleTrack : int

返回当前激活的字幕轨道。

将index 设为-1 可禁用字幕。

字幕默认为禁用。

访问功能:

int activeSubtitleTrack() const

void setActiveSubtitleTrack(int index)

通知信号:

void activeTracksChanged()

activeVideoTrack : int

返回当前激活的视频轨道。

默认情况下,将选择第一个可用的音频轨道。

将index 设置为-1 可禁用所有视频轨道。

访问功能:

int activeVideoTrack() const

void setActiveVideoTrack(int index)

通知信号:

void activeTracksChanged()

[since 6.8] audioBufferOutput : QAudioBufferOutput*

该属性用于保存媒体播放器使用的输出音频缓冲区。

为媒体播放器设置音频缓冲区output 。

如果指定了QAudioBufferOutput ,且媒体源包含音频流,则媒体播放器将发出信号QAudioBufferOutput::audioBufferReceived ,并带有包含解码音频数据的音频缓冲区。在音频流结束时,QMediaPlayer 会发射一个空的QAudioBuffer 。

QMediaPlayer 如果指定了音频输出端,则在将匹配数据推送到音频输出端时,媒体播放器会同时发射输出音频缓冲区。不过,由于音频缓冲区化,声音播放可能会有少许延迟。

发射音频缓冲区的格式取自指定的output ,如果output 返回的格式无效,则取自匹配的音频流。发射的音频数据不会根据当前播放速率进行缩放。

利用QAudioBufferOutput 和QMediaPlayer 的潜在用例包括

音频可视化。如果媒体播放器的播放速率不是1 ,则可根据可视化器的要求缩放输出图像的尺寸或图像更新间隔。

任何人工智能声音处理,如语音识别。

将数据发送到外部音频输出。应考虑改变播放速率、与视频同步以及在停止和搜索时手动冲洗。我们不建议将音频缓冲输出用于此目的,除非您有充分的理由这样做。

此属性在 Qt 6.8 中引入。

访问功能:

QAudioBufferOutput *audioBufferOutput() const

void setAudioBufferOutput(QAudioBufferOutput *output)

Notifier 信号:

void audioBufferOutputChanged()

audioOutput : QAudioOutput*

此属性用于保存媒体播放器使用的音频输出设备。

播放媒体时使用的当前音频输出。设置新的音频输出将替换当前使用的输出。

将此属性设置为nullptr 将禁用任何音频输出。

访问功能:

QAudioOutput *audioOutput() const

void setAudioOutput(QAudioOutput *output)

通知信号:

void audioOutputChanged()

[read-only] audioTracks : const QList

列出媒体内的可用音轨集。

返回的QMediaMetaData 描述了各个音轨的属性。

例如,不同的音轨可以包含不同语言的音频。

访问功能:

QList audioTracks() const

通知信号:

void tracksChanged()

[read-only] bufferProgress : const float

该属性表示播放开始或恢复前临时缓冲区已满的百分比,从0. (空)到1. (满)。

当播放器对象正在缓冲时,该属性表示临时缓冲区已满的百分比。在播放开始或恢复之前,缓冲区需要达到 100%,此时mediaStatus() 将返回BufferedMedia 或BufferingMedia 。如果该值低于100 ,mediaStatus() 将返回StalledMedia 。

访问功能:

float bufferProgress() const

通知信号:

void bufferProgressChanged(float filled)

另请参阅 mediaStatus() 。

[read-only] duration : const qint64

该属性用于保存当前媒体的持续时间。

该值是当前媒体的总播放时间(以毫秒为单位)。该值可能会在QMediaPlayer 对象的整个生命周期内发生变化,初始播放开始时可能不可用,请连接durationChanged() 信号接收状态通知。

访问功能:

qint64 duration() const

Notifier 信号:

void durationChanged(qint64 duration)

[read-only] error : const Error

该属性包含一个字符串,描述最后一次出错的情况。

访问功能:

QMediaPlayer::Error error() const

Notifier 信号:

void errorChanged()

另请参见 error().

[read-only] errorString : const QString

该属性包含一个字符串,详细描述了当前的错误状况。

访问功能:

QString errorString() const

通知信号:

void errorChanged()

[read-only] hasAudio : const bool

此属性表示媒体是否包含音频。

访问功能:

bool hasAudio() const

通知信号:

void hasAudioChanged(bool available)

[read-only] hasVideo : const bool

此属性表示媒体是否包含视频。

访问功能:

bool hasVideo() const

通知信号:

void hasVideoChanged(bool videoAvailable)

loops : int

决定播放器停止播放媒体文件的频率。设置为QMediaPlayer::Infinite 可永远循环播放当前媒体文件。

默认值为1 。将此属性设置为0 没有任何作用。

访问功能:

int loops() const

void setLoops(int loops)

通知信号:

void loopsChanged()

[read-only] mediaStatus : const MediaStatus

该属性用于保存当前媒体流的状态。

流状态描述了当前流的播放进度。

默认情况下,此属性为QMediaPlayer::NoMedia

访问功能:

QMediaPlayer::MediaStatus mediaStatus() const

Notifier 信号:

void mediaStatusChanged(QMediaPlayer::MediaStatus status)

[read-only] metaData : const QMediaMetaData

返回媒体播放器使用的当前媒体的元数据。

元数据可包含视频标题或创建日期等信息。

注意: Windows 实现只为位于本地文件系统中的媒体提供元数据。

访问功能

QMediaMetaData metaData() const

通知信号

void metaDataChanged()

playbackRate : qreal

此属性用于保存当前媒体的播放速率。

该值是媒体标准播放速度的乘数。默认情况下,该值为 1.0,表示媒体以标准速度播放。高于 1.0 的值会提高播放速度,而介于 0.0 和 1.0 之间的值则会降低播放速度。不支持负播放速度。

并非所有播放服务都支持更改播放速率。快进或倒带时音频和视频的状态和质量由框架定义。

访问功能:

qreal playbackRate() const

void setPlaybackRate(qreal rate)

通知信号:

void playbackRateChanged(qreal rate)

[read-only] playbackState : const PlaybackState

返回PlaybackState 。

访问功能:

QMediaPlayer::PlaybackState playbackState() const

Notifier 信号:

void playbackStateChanged(QMediaPlayer::PlaybackState newState)

另请参阅 playing 。

[read-only, since 6.5] playing : const bool

此属性表示媒体是否正在播放。

此属性在 Qt 6.5 中引入。

访问函数:

bool isPlaying() const

Notifier 信号:

void playingChanged(bool playing)

另请参阅 playbackState 和PlayingState 。

position : qint64

该属性用于保存当前媒体的播放位置。

该值是当前的播放位置,以媒体开始后的毫秒为单位。位置的周期性变化将通过positionChanged() 信号显示。

如果seekable 属性为 true,则可将此属性设置为毫秒。

访问功能:

qint64 position() const

void setPosition(qint64 position)

Notifier 信号:

void positionChanged(qint64 position)

[read-only] seekable : const bool

该属性表示当前媒体的可寻状态。

如果支持寻道,则此属性为 true;否则为 false。该属性的状态可能会在QMediaPlayer 对象的整个生命周期内发生变化,请使用seekableChanged 信号监控变化。

访问功能:

bool isSeekable() const

通知信号:

void seekableChanged(bool seekable)

source : QUrl

该属性用于保存播放器对象正在使用的活动媒体源。

播放器对象将使用QUrl 选择要播放的内容。

默认情况下,该属性为空QUrl 。

将此属性设置为空QUrl 将导致播放器丢弃与当前媒体源相关的所有信息,并停止与该媒体相关的所有 I/O 操作。

访问功能:

QUrl source() const

void setSource(const QUrl &source)

Notifier 信号:

void sourceChanged(const QUrl &media)

另请参阅 QUrl 。

[read-only] subtitleTracks : const QList

列出媒体中可用的字幕轨道集。

返回的QMediaMetaData 描述了各个轨道的属性。

访问功能:

QList subtitleTracks() const

通知信号:

void tracksChanged()

videoOutput : QObject*

该属性用于保存媒体播放器使用的视频输出。

一个媒体播放器只能连接一个视频输出端,因此设置此属性将替换之前连接的视频输出端。

将此属性设置为nullptr 将禁用视频输出。

访问功能:

QObject *videoOutput() const

void setVideoOutput(QObject *)

通知信号:

void videoOutputChanged()

[read-only] videoTracks : const QList

列出媒体内可用的视频轨道集。

返回的QMediaMetaData 描述了各个轨道的属性。

访问功能:

QList videoTracks() const

Notifier 信号:

void tracksChanged()

评论留言