MediaPlayer QML 类型

为场景添加媒体播放功能。 更多...

导入语句import QtMultimedia
实例化 QMediaPlayer

属性

信号

方法

详细描述

Text {
    text: "Click Me!";
    font.pointSize: 24;
    width: 150; height: 50;

    MediaPlayer {
        id: playMusic
        source: "music.wav"
        audioOutput: AudioOutput {}
    }
    MouseArea {
        anchors.fill: parent
        onPressed:  { playMusic.play() }
    }
}

您可以使用 MediaPlayer 与 MultiMedia::AudioOutput 一起播放音频内容,或者您可以使用它与 MultiMedia::VideoOutput 一起渲染视频。

Item {
    MediaPlayer {
        id: mediaplayer
        source: "groovy_video.mp4"
        audioOutput: AudioOutput {}
        videoOutput: videoOutput
    }

    VideoOutput {
        id: videoOutput
        anchors.fill: parent
    }

    MouseArea {
        anchors.fill: parent
        onPressed: mediaplayer.play();
    }
}

另请参阅 AudioOutputVideoOutput

属性文档

activeAudioTrack : int

该属性存储当前活动音频轨道的轨道号。设置为 -1 以禁用音频轨道。

默认属性值为 0:第一个音频轨道。


activeSubtitleTrack : int

该属性存储当前活动字幕轨道的轨道号。设置为 -1 以禁用字幕轨道。

默认属性值为 -1:没有活动字幕。


activeVideoTrack : int

该属性存储当前活动视频音频轨道的轨道号。设置为 -1 以禁用视频轨道。

默认属性值为 0:第一个视频轨道。


audioOutput : AudioOutput

该属性存储目标音频输出。接受一个 AudioOutput 元素。

另请参阅 QMediaPlayer::setAudioOutput


audioTracks : list<mediaMetaData> [只读]

该属性存储一组元数据。每个索引对应一个音频轨道。

元数据存储描述单独轨道的属性。对于音频轨道,Language 通常是最重要的属性。

另请参阅 mediaMetaData


autoPlay : bool [since 6.7]

该属性控制是否在媒体加载完成后自动开始播放。默认为 false

此属性自 Qt 6.7 版本引入。


bufferProgress : real [只读]

该属性存储当前数据缓冲区填充的量,从 0.0(空)到 1.0(满)。

只有在缓冲区完全填满后,才能开始或继续播放。当缓冲区填满时,MediaPlayer.Buffered 设置为 true。当缓冲进度在 0.01.0 之间时,MediaPlayer.Buffering 设置为 true。

小于 1.0 的值表示属性 MediaPlayer.StalledMedia 为 true。

另请参阅 mediaStatus


duration : int [只读]

该属性存储媒体的持续时间(毫秒)。

如果媒体没有固定持续时间(例如直播流),则此值为 0


error : enumeration [只读]

该属性存储音频的错误状态。它可以是从以下之一。

描述
NoError没有当前错误。
ResourceError由于分配资源问题,音频无法播放。
FormatError不支持音频格式。
NetworkError由于网络问题,音频无法播放。
AccessDeniedError由于权限不足,无法播放音频。

errorString : string [只读]

该属性存储一个字符串,以更详细的方式描述当前错误状态。


hasAudio : bool [只读]

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


hasVideo : bool [只读]

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


loops : int

决定媒体播放多少次后播放器停止。设置为MediaPlayer::Infinite可以无限循环当前媒体文件。

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


mediaStatus : 枚举 [只读]

该属性表示媒体加载的状态。它可以是以下之一

属性值描述
没有设置媒体。没有设置媒体。
正在加载媒体媒体正在加载。
加载完成媒体媒体已经加载。
缓冲媒体媒体正在缓冲数据。
停滞媒体在媒体缓冲数据时播放被中断。
已缓冲媒体媒体已缓冲数据。
媒体结束媒体播放完毕。
无效媒体媒体无法播放。

metaData : mediaMetaData [只读]

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

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

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


playbackRate : real

该属性表示媒体播放的速度,以正常速率的倍数表示。

有关更多信息,请参阅QMediaPlayer::playbackRate

默认值为1.0


playbackState : 枚举 [只读]

该属性表示媒体播放的状态。它可以是以下之一

属性值描述
播放状态媒体目前正在播放。这表示与playing属性相同。
暂停状态媒体播放已被暂停。
停止状态媒体播放尚未开始。

playing : bool [只读,自6.5以来]

表示媒体是否目前正在播放。

此属性自Qt 6.5引入。

另请参阅playbackState


position : int

该值是当前播放位置,自媒体开始计时(毫秒)。位置的变化将通过positionChanged()信号定期指示。

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


seekable : bool [只读]

该属性表示媒体位置是否可以更改。


source : url

该属性表示媒体的源URL。

Item {
    MediaPlayer {
        id: mediaplayer
        source: "file:///test.mp4"
        videoOutput: videoOutput
        audioOutput: AudioOutput {

        }
    }

    VideoOutput {
        id: videoOutput
        anchors.fill: parent
    }

    MouseArea {
        id: playArea
        anchors.fill: parent
        onPressed: mediaplayer.play();
    }
}

另请参阅QMediaPlayer::setSource


subtitleTracks : 列表<mediaMetaData> [只读]

此属性包含一个元数据列表。每个索引对应一个字幕轨道。

元数据包含描述各个轨道的属性。对于字幕轨道,语言通常是最重要的属性。

另请参阅 mediaMetaData


videoOutput : VideoOutput

此属性包含目标视频输出。接受一个VideoOutput元素。

另请参阅 QMediaPlayer::setVideoOutput().


videoTracks : list<mediaMetaData> [只读]

此属性包含一个元数据列表。每个索引对应一个视频轨道。

元数据包含描述各个轨道的属性。

另请参阅 mediaMetaData


信号文档

errorOccurred(error, errorString)

当发生error时,将发出此信号。参数errorString可能包含有关错误的更详细信息。

注意:对应的手动处理程序是onErrorOccurred

另请参阅 QMediaPlayer::Error


playbackStateChanged()

playbackState属性被更改时,会发出此信号。

注意:对应的手动处理程序是onPlaybackStateChanged


playingChanged()

playing属性改变时,会发出此信号。

注意:对应的手动处理程序是onPlayingChanged


方法文档

pause()

暂停媒体播放。

playbackState属性设置为PlayingState,并将playing设置为false


play()

开始或恢复媒体播放。

playbackState属性设置为PlayingState,并将playing设置为true


stop()

停止媒体播放。

playbackState属性设置为PlayingState,并将playing设置为false


© 2024 Qt公司有限公司。本文档中的文档贡献归各自的拥有者所有。本手册的文档依据自由软件基金会发布的GNU自由文档许可协议版本1.3的条款进行许可。Qt及其相关标志是芬兰和全球其他地区的Qt公司商标。所有其他商标均为各自拥有者的财产。