本页内容

QMediaPlayer Class

QMediaPlayer 类可用于播放媒体文件。更多内容...

头文件: #include <QMediaPlayer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
在 QML 中: MediaPlayer
继承自: QObject

公共类型

enum Error { NoError, ResourceError, FormatError, NetworkError, AccessDeniedError }
enum Loops { Infinite, Once }
enum MediaStatus { NoMedia, LoadingMedia, LoadedMedia, StalledMedia, BufferingMedia, …, InvalidMedia }
(since 6.10) enum class PitchCompensationAvailability { AlwaysOn, Available, Unavailable }
enum PlaybackState { StoppedState, PlayingState, PausedState }

属性

公共函数

QMediaPlayer(QObject *parent = nullptr)
virtual ~QMediaPlayer() override
int activeAudioTrack() const
int activeSubtitleTrack() const
int activeVideoTrack() const
QAudioBufferOutput *audioBufferOutput() const
QAudioOutput *audioOutput() const
QList<QMediaMetaData> audioTracks() const
float bufferProgress() const
QMediaTimeRange bufferedTimeRange() const
qint64 duration() const
QMediaPlayer::Error error() const
QString errorString() const
bool hasAudio() const
bool hasVideo() const
bool isAvailable() const
bool isPlaying() const
bool isSeekable() const
int loops() const
QMediaPlayer::MediaStatus mediaStatus() const
QMediaMetaData metaData() const
(since 6.10) bool pitchCompensation() const
(since 6.10) QMediaPlayer::PitchCompensationAvailability pitchCompensationAvailability() const
QPlaybackOptions playbackOptions() const
qreal playbackRate() const
QMediaPlayer::PlaybackState playbackState() const
qint64 position() const
void setActiveAudioTrack(int index)
void setActiveSubtitleTrack(int index)
void setActiveVideoTrack(int index)
void setAudioBufferOutput(QAudioBufferOutput *output)
void setAudioOutput(QAudioOutput *output)
void setLoops(int loops)
void setVideoOutput(QObject *)
void setVideoSink(QVideoSink *sink)
QUrl source() const
const QIODevice *sourceDevice() const
QList<QMediaMetaData> subtitleTracks() const
QObject *videoOutput() const
QVideoSink *videoSink() const
QList<QMediaMetaData> videoTracks() const

公共槽位

void pause()
void play()
void resetPlaybackOptions()
(since 6.10) void setPitchCompensation(bool enabled) const
void setPlaybackOptions(const QPlaybackOptions &options)
void setPlaybackRate(qreal rate)
void setPosition(qint64 position)
void setSource(const QUrl &source)
void setSourceDevice(QIODevice *device, const QUrl &sourceUrl = QUrl())
void stop()

信号

void activeTracksChanged()
void audioBufferOutputChanged()
void audioOutputChanged()
void bufferProgressChanged(float filled)
void durationChanged(qint64 duration)
void errorChanged()
void errorOccurred(QMediaPlayer::Error error, const QString &errorString)
void hasAudioChanged(bool available)
void hasVideoChanged(bool videoAvailable)
void loopsChanged()
void mediaStatusChanged(QMediaPlayer::MediaStatus status)
void metaDataChanged()
void pitchCompensationChanged(bool)
void playbackOptionsChanged()
void playbackRateChanged(qreal rate)
void playbackStateChanged(QMediaPlayer::PlaybackState newState)
void playingChanged(bool playing)
void positionChanged(qint64 position)
void seekableChanged(bool seekable)
void sourceChanged(const QUrl &media)
void tracksChanged()
void videoOutputChanged()

详细说明

QMediaPlayer 类是一个高级媒体播放类。它可用于播放音频或视频媒体文件。待播放的内容以QUrl 对象的形式指定。

player = new QMediaPlayer;
audioOutput = new QAudioOutput;
player->setAudioOutput(audioOutput);
connect(player, &QMediaPlayer::positionChanged, this, &MediaExample::positionChanged);
player->setSource(QUrl::fromLocalFile("/Users/me/Music/coolsong.mp3"));
audioOutput->setVolume(0.5);
player->play();

QVideoWidget 可与 QMediaPlayer 配合使用以实现视频渲染。

另请参阅 QVideoWidget 。

成员类型文档

enum QMediaPlayer::Error

定义媒体播放器的错误状态。

常量值描述
QMediaPlayer::NoError0未发生错误。
QMediaPlayer::ResourceError1无法解析媒体资源。
QMediaPlayer::FormatError2媒体资源的格式未(完全)受支持。可能仍可播放,但可能缺少音频或视频组件。
QMediaPlayer::NetworkError3发生网络错误。
QMediaPlayer::AccessDeniedError4没有播放该媒体资源所需的权限。

enum QMediaPlayer::Loops

loops 属性的几个预定义常量。

常量值描述
QMediaPlayer::Infinite-1无限循环。
QMediaPlayer::Once1播放媒体一次(默认)。

enum QMediaPlayer::MediaStatus

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

常量值描述
QMediaPlayer::NoMedia0当前没有媒体。播放器处于StoppedState 状态。
QMediaPlayer::LoadingMedia1当前媒体正在加载中。播放器可能处于任何状态。
QMediaPlayer::LoadedMedia2当前媒体已加载完毕。播放器处于StoppedState 状态。
QMediaPlayer::StalledMedia3由于缓冲不足或其他临时中断,当前媒体的播放已暂停。播放器处于PlayingState 或PausedState 状态。
QMediaPlayer::BufferingMedia4播放器正在缓冲数据,但已缓冲足够的数据以支持近期继续播放。播放器处于PlayingState 或PausedState 状态。
QMediaPlayer::BufferedMedia5播放器已将当前媒体缓冲完毕。播放器处于PlayingState 或PausedState 状态。
QMediaPlayer::EndOfMedia6播放已到达当前媒体的末尾。播放器处于“StoppedState ”状态。
QMediaPlayer::InvalidMedia7无法播放当前媒体。播放器处于StoppedState 状态。

[since 6.10] enum class QMediaPlayer::PitchCompensationAvailability

音高补偿功能。

不同后端在更改播放速率时,对音高补偿的行为各不相同。

常量值描述
QMediaPlayer::PitchCompensationAvailability::AlwaysOn0媒体播放器始终执行音高补偿。
QMediaPlayer::PitchCompensationAvailability::Available1媒体播放器可配置为使用音高补偿。如果当前平台支持音高补偿,则默认启用该功能,但用户可在需要时将其禁用。
QMediaPlayer::PitchCompensationAvailability::Unavailable2媒体播放器在当前平台上无法执行音高补偿。

该枚举类型自 Qt 6.10 起引入。

enum QMediaPlayer::PlaybackState

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

常量值描述
QMediaPlayer::StoppedState0媒体播放器未播放任何内容,播放将从当前曲目的开头开始。
QMediaPlayer::PlayingState1媒体播放器当前正在播放内容。这与playing 属性表示相同。
QMediaPlayer::PausedState2媒体播放器已暂停播放,当前曲目的播放将从播放器暂停时的位置继续。

属性文档

activeAudioTrack : int

返回当前活动的音频轨道。

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

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

访问函数:

int activeAudioTrack() const
void setActiveAudioTrack(int index)

通知信号:

void activeTracksChanged()

activeSubtitleTrack : int

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

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

默认情况下,字幕处于禁用状态。

访问函数:

int activeSubtitleTrack() const
void setActiveSubtitleTrack(int index)

通知信号:

activeVideoTrack : int

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

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

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

访问函数:

int activeVideoTrack() const
void setActiveVideoTrack(int index)

通知信号:

[since 6.8] audioBufferOutput : QAudioBufferOutput*

此属性存储媒体播放器使用的输出音频缓冲区。

将音频缓冲区 `output ` 设置为媒体播放器的输出缓冲区。

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

QMediaPlayer 在将匹配数据推送到音频输出(若已指定)的同时,也会输出音频缓冲区。不过,由于音频缓冲机制,声音播放可能会存在轻微延迟。

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

结合使用 `QAudioBufferOutput ` 与 `QMediaPlayer ` 的潜在应用场景包括:

  • 音频可视化。如果媒体播放器的播放速率不是1 ,您可以根据可视化器的要求调整输出图像的尺寸或图像更新间隔。
  • 任何 AI 音频处理,例如语音识别。
  • 将数据发送至外部音频输出。应考虑播放速率变化、与视频的同步,以及在停止和寻址时的手动刷新。除非有充分理由,否则不建议为此目的使用音频缓冲区输出。

此枚举在 Qt 6.8 中引入。

访问函数:

QAudioBufferOutput *audioBufferOutput() const
void setAudioBufferOutput(QAudioBufferOutput *output)

通知器信号:

void audioBufferOutputChanged()

audioOutput : QAudioOutput*

该属性存储媒体播放器所使用的音频输出设备。

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

将此属性设置为nullptr 将禁用所有音频输出。

访问函数:

QAudioOutput *audioOutput() const
void setAudioOutput(QAudioOutput *output)

通知信号:

void audioOutputChanged()

[read-only] audioTracks : QList<QMediaMetaData>

列出媒体中可用的音频轨道集合。

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

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

访问函数:

QList<QMediaMetaData> audioTracks() const

通知信号:

void tracksChanged()

[read-only] bufferProgress : float

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

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

访问函数:

float bufferProgress() const

通知器信号:

void bufferProgressChanged(float filled)

另请参阅 mediaStatus()。

[read-only] duration : qint64

该属性存储当前媒体的时长。

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

访问函数:

qint64 duration() const

通知信号:

void durationChanged(qint64 duration)

[read-only] error : Error

该属性包含一个字符串,用于描述最近的错误情况。

访问函数:

QMediaPlayer::Error error() const

通知信号:

void errorChanged()

另请参阅 error()。

[read-only] errorString : QString

该属性存储一个字符串,用于更详细地描述当前的错误状况。

访问函数:

QString errorString() const

通知信号:

void errorChanged()

[read-only] hasAudio : bool

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

访问函数:

bool hasAudio() const

通知信号:

void hasAudioChanged(bool available)

[read-only] hasVideo : 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 : MediaStatus

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

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

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

访问函数:

QMediaPlayer::MediaStatus mediaStatus() const

通知信号:

void mediaStatusChanged(QMediaPlayer::MediaStatus status)

[read-only] metaData : QMediaMetaData

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

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

注意: Windows版本 仅为位于本地文件系统上的媒体提供元数据。

访问函数:

QMediaMetaData metaData() const

通知信号:

void metaDataChanged()

[since 6.10] pitchCompensation : bool

该属性保存了媒体播放器的音高补偿状态。

指示音高补偿是否已启用。启用后,更改播放速率不会影响音频信号的音高。

注意: 音高补偿会增加QMediaPlayer 的CPU负载。

默认值为:如果支持音高补偿,则为 `true `;否则为 `false`。

此枚举在 Qt 6.10 中引入。

访问函数:

bool pitchCompensation() const
void setPitchCompensation(bool enabled) const

通知器信号:

void pitchCompensationChanged(bool)

[read-only, since 6.10] pitchCompensationAvailability : const PitchCompensationAvailability

该属性表示当前QtMultimedia 后端是否支持音高补偿功能。

表示当前后端上QMediaPlayer 的音高补偿功能是否可用。

注意:不同的 后端可能具有不同的行为。

有关详细信息,请参阅QMediaPlayer::PitchCompensationAvailability 。

该枚举在 Qt 6.10 中引入。

访问函数:

QMediaPlayer::PitchCompensationAvailability pitchCompensationAvailability() const

[since 6.10] playbackOptions : QPlaybackOptions

用于配置媒体播放和解码的高级播放选项。

该属性提供了QPlaybackOptions API,可对媒体播放选项进行底层控制。虽然我们强烈建议使用QMediaPlayer 的默认设置,但在默认选项不理想的情况下,可使用此API针对特定使用场景优化媒体播放。

播放选项将在下次调用QMediaPlayer::setSource() 时生效。

此枚举类型自 Qt 6.10 起引入。

访问函数:

QPlaybackOptions playbackOptions() const
void setPlaybackOptions(const QPlaybackOptions &options)
void resetPlaybackOptions()

通知信号:

void playbackOptionsChanged()

playbackRate : qreal

该属性保存当前媒体的播放速率。

该值是应用于媒体标准播放速率的倍数。默认情况下,该值为 1.0,表示媒体正在以标准速度播放。大于 1.0 的值将加快播放速度,而介于 0.0 和 1.0 之间的值则会减慢播放速度。不支持负播放速率。

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

访问函数:

qreal playbackRate() const
void setPlaybackRate(qreal rate)

通知信号:

void playbackRateChanged(qreal rate)

[read-only] playbackState : PlaybackState

返回PlaybackState 。

访问函数:

QMediaPlayer::PlaybackState playbackState() const

通知器信号:

void playbackStateChanged(QMediaPlayer::PlaybackState newState)

另请参阅 playing 。

[read-only, since 6.5] playing : bool

该属性用于指示媒体是否正在播放。

该枚举在 Qt 6.5 中引入。

访问函数:

bool isPlaying() const

通知信号:

void playingChanged(bool playing)

另请参阅 playbackState 和PlayingState 。

position : qint64

该属性存储当前媒体的播放位置。

该值表示当前播放位置,以自媒体文件开头起计算的毫秒数表示。位置的周期性变化将通过positionChanged()信号进行指示。

如果seekable 属性为true,则该属性可设置为毫秒值。

访问函数:

qint64 position() const
void setPosition(qint64 position)

通知信号:

void positionChanged(qint64 position)

[read-only] seekable : bool

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

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

访问函数:

bool isSeekable() const

通知信号:

void seekableChanged(bool seekable)

source : QUrl

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

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

默认情况下,此属性的QUrl 为 null。

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

访问函数:

QUrl source() const
void setSource(const QUrl &source)

通知器信号:

void sourceChanged(const QUrl &media)

另请参阅 QUrl 。

[read-only] subtitleTracks : QList<QMediaMetaData>

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

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

访问函数:

QList<QMediaMetaData> subtitleTracks() const

通知信号:

void tracksChanged()

videoOutput : QObject*

该属性用于指定媒体播放器将使用的视频输出设备。

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

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

访问函数:

QObject *videoOutput() const
void setVideoOutput(QObject *)

通知信号:

void videoOutputChanged()

[read-only] videoTracks : QList<QMediaMetaData>

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

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

访问函数:

QList<QMediaMetaData> videoTracks() const

通知信号:

void tracksChanged()

成员函数文档

[explicit] QMediaPlayer::QMediaPlayer(QObject *parent = nullptr)

创建一个 QMediaPlayer 实例,并将其作为parent 的子对象。

[override virtual noexcept] QMediaPlayer::~QMediaPlayer()

销毁玩家对象。

float QMediaPlayer::bufferProgress() const

在缓冲数据时返回一个介于 0 和 1 之间的数值。

0 表示没有可用的缓冲数据,此时播放通常会暂停。一旦缓冲区达到 1,即表示已缓冲足够的数据,播放将恢复。

对于本地文件,bufferProgress() 始终返回 1。

注意: 这是属性 bufferProgress的获取 函数。

[signal] void QMediaPlayer::bufferProgressChanged(float filled)

以0到1之间的数值表示本地缓冲区filled 的大小。

注意: 这是属性bufferProgress 的通知器 信号。

QMediaTimeRange QMediaPlayer::bufferedTimeRange() const

返回一个描述当前缓冲数据的QMediaTimeRange 对象。

从远程源流式传输媒体时,媒体文件的不同部分可能已在本地可用。返回的 `QMediaTimeRange ` 对象描述了已缓冲且可立即播放的时间范围。

另请参阅 QMediaTimeRange 。

qint64 QMediaPlayer::duration() const

返回当前媒体的时长(单位:毫秒)。

如果媒体播放器没有有效的媒体文件或流,则返回 0。对于直播流,随着更多数据的可用,时长通常会在播放过程中发生变化。

注意: 这是 duration 属性的获取器 函数。

[signal] void QMediaPlayer::durationChanged(qint64 duration)

表示内容的持续时间已更改为duration ,单位为毫秒。

注意: 这是属性duration 的通知器 信号。

QMediaPlayer::Error QMediaPlayer::error() const

返回当前的错误状态。

注意: 这是“error”属性的获取 函数。

[signal] void QMediaPlayer::errorOccurred(QMediaPlayer::Error error, const QString &errorString)

表示发生了error 异常,其中errorString 包含该错误的描述。

另请参阅 errorString()。

[signal] void QMediaPlayer::hasAudioChanged(bool available)

表示音频内容的可用性已变为available 。

注意: 这是属性hasAudio的通知 信号。

[signal] void QMediaPlayer::hasVideoChanged(bool videoAvailable)

表示视觉内容的可用性已更改为videoAvailable 。

注意: 这是属性hasVideo的通知 信号。

bool QMediaPlayer::isAvailable() const

如果该平台支持该媒体播放器,则返回 true。

bool QMediaPlayer::isSeekable() const

如果媒体支持定位,则返回 true。大多数基于文件的媒体文件都支持定位,但实时流通常不支持。

注意: 这是属性seekable 的获取器 函数。

另请参阅 position 。

[signal] void QMediaPlayer::mediaStatusChanged(QMediaPlayer::MediaStatus status)

表示当前媒体的status 属性已发生变化。

注: 属性 `mediaStatus`的通知 信号。

另请参阅 mediaStatus()。

[slot] void QMediaPlayer::pause()

暂停当前音源的播放。

另请参阅 play() 和stop()。

[since 6.10] bool QMediaPlayer::pitchCompensation() const

返回音高补偿的状态。

注意: 这是属性 pitchCompensation 的获取 函数。

该函数在 Qt 6.10 中引入。

另请参阅 setPitchCompensation()。

[since 6.10] QMediaPlayer::PitchCompensationAvailability QMediaPlayer::pitchCompensationAvailability() const

返回当前后端音高补偿功能的可用性。

注意: 这是属性 pitchCompensationAvailability 的获取 函数。

该函数在 Qt 6.10 中引入。

[slot] void QMediaPlayer::play()

开始或继续播放当前音源。

另请参阅 pause() 和stop()。

qreal QMediaPlayer::playbackRate() const

返回当前的播放速率。

注意: 这是属性 playbackRate 的获取 函数。

另请参阅 ` setPlaybackRate()`。

[signal] void QMediaPlayer::playbackRateChanged(qreal rate)

表示属性playbackRate 已更改为rate 。

注意: 这是针对属性playbackRate的通知器 信号。

qint64 QMediaPlayer::position() const

返回正在播放的媒体文件中的当前位置(单位为毫秒)。

如果媒体播放器没有有效的媒体文件或流,则返回 0。对于直播流,随着更多数据的可用,播放时长通常会在播放过程中发生变化。

注意: 这是对 position 属性的获取 函数。

另请参阅 setPosition()。

[signal] void QMediaPlayer::positionChanged(qint64 position)

表示内容的位置已变为position ,单位为毫秒。

注意: 这是属性position 的通知器 信号。

[signal] void QMediaPlayer::seekableChanged(bool seekable)

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

注意: 这是属性seekable 的Notifier 信号。

[slot, since 6.10] void QMediaPlayer::setPitchCompensation(bool enabled) const

设置音高补偿的状态(enabled 或 disabled)。只有当后端可在运行时配置音高补偿时,此设置才生效。

注意: 这是属性pitchCompensation 的设置 函数。

该函数在 Qt 6.10 中引入。

另请参阅 pitchCompensation()。

[slot] void QMediaPlayer::setSource(const QUrl &source)

设置当前的source 。

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

注意:此 函数在录制完指定的媒体源后立即返回。它不会等待媒体加载完成,也不会检查是否发生错误。请监听mediaStatusChanged()和error()信号,以便在媒体加载完成时以及加载过程中发生错误时收到通知。

注意:FFmpeg 媒体后端所使用的 FFmpeg 出于安全原因限制了嵌套协议的使用。 在所有输入均受信任的受控环境中,可通过 QT_FFMPEG_PROTOCOL_WHITELIST 环境变量覆盖批准的协议列表。该环境变量属于 Qt 的私有 API,在补丁版本之间可能会发生变更,恕不另行通知。

注意: 这是属性source 的设置 函数。

另请参阅 source()。

[slot] void QMediaPlayer::setSourceDevice(QIODevice *device, const QUrl &sourceUrl = QUrl())

设置当前源device 。

媒体数据将从device 读取。可提供sourceUrl 以解析有关媒体的附加信息(如 MIME 类型等)。device 必须处于打开状态且可读。

对于 macOS,device 还应支持定位。

注意:该 函数在录制完指定的媒体源后立即返回。它不会等待媒体加载完成,也不会检查是否发生错误。请监听mediaStatusChanged() 和error() 信号,以便在媒体加载完成时收到通知,并在加载过程中发生错误时获知。

另请参阅 sourceDevice()。

void QMediaPlayer::setVideoSink(QVideoSink *sink)

将 `sink ` 设置为用于检索视频数据的 `QVideoSink ` 实例。

另请参阅 videoSink()。

[signal] void QMediaPlayer::sourceChanged(const QUrl &media)

表示媒体源已更改为media 。

注意: 这是属性source的通知 信号。

const QIODevice *QMediaPlayer::sourceDevice() const

返回媒体数据的流源。

仅当向 `setSource()` 传递了流时,此操作才有效。

另请参阅 setSourceDevice() 和setSource()。

[slot] void QMediaPlayer::stop()

停止播放,并将播放位置重置为起始处。

另请参阅 play() 和pause()。

[signal] void QMediaPlayer::tracksChanged()

注: 用于属性audioTracks 、subtitleTracks 和videoTracks的通知器 信号。

QVideoSink *QMediaPlayer::videoSink() const

返回QVideoSink 实例。

另请参阅 setVideoSink()。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.