视频QML类型

用于显示特定视频的便捷类型。更多...

导入语句import QtMultimedia
继承

Item

属性

信号

方法

详细描述

Video 是一个将 MediaPlayerVideoOutput 的功能结合在一起便捷类型。它提供简单的视频播放功能,无需声明多个类型。

以下是在场景中实现视频播放的示例代码。

Video {
    id: video
    width : 800
    height : 600
    source: "video.avi"

    MouseArea {
        anchors.fill: parent
        onClicked: {
            video.play()
        }
    }

    focus: true
    Keys.onSpacePressed: video.playbackState == MediaPlayer.PlayingState ? video.pause() : video.play()
    Keys.onLeftPressed: video.position = video.position - 5000
    Keys.onRightPressed: video.position = video.position + 5000
}

当您点击 MouseArea 的父元素时,源文件 video.avi 将播放。视频将在800 x 600像素的区域中播放,其 id 属性的值为 video

请注意,由于已定义了 Keys 的信号,按

  • 空格键 将切换暂停按钮。
  • 向左箭头将视频当前位置移动到5秒之前。
  • 向右箭头将视频当前位置向前推进5秒。

视频支持未变换、拉伸和均匀缩放的视频呈现。关于均匀拉伸呈现的描述,请参阅fillMode属性描述。

另请参阅MediaPlayerVideoOutput

属性说明

autoPlay : bool [since 6.7]

此属性控制媒体加载后是否自动开始播放。默认值为false

此属性自Qt 6.7版本开始引入。


bufferProgress : real

此属性表示当前填充了多少比例的缓冲数据,范围从0.0(空)到1.0(满)。


duration : int

此属性表示媒体的持续时间(以毫秒为单位)。

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


error : enumeration

此属性表示视频的出错状态。它可以是以下之一:

  • MediaPlayer.NoError - 当前没有错误。
  • MediaPlayer.ResourceError - 由于资源分配问题,无法播放视频。
  • MediaPlayer.FormatError - 视频格式不受支持。
  • MediaPlayer.NetworkError - 由于网络问题,无法播放视频。
  • MediaPlayer.AccessDenied - 由于权限不足,无法播放视频。
  • MediaPlayer.ServiceMissing - 媒体服务无法实例化,无法播放视频。

errorString : string

此属性包含一个字符串,更详细地描述了当前错误状态。


fillMode : enumeration

将此属性设置为定义视频如何缩放以适应目标区域。

  • VideoOutput.Stretch - 视频将缩放以适应
  • VideoOutput.PreserveAspectFit - 视频将均匀缩放以适应,不进行裁剪
  • VideoOutput.PreserveAspectCrop - 视频将均匀缩放以填满,必要时进行裁剪

因为这种类型是为了QML中的方便而设计的,所以它不支持枚举,因此使用来自VideoOutput的枚举来访问可用的填充模式。

默认填充模式是preserveAspectFit。


hasAudio : bool

此属性表示当前媒体是否包含音频内容。


hasVideo : bool

此属性表示当前媒体是否包含视频内容。


loops : int

确定在停止之前媒体播放的次数。将其设置为MediaPlayer.Infinite以永远循环当前媒体文件。

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


metaData : mediaMetaData

此属性包含当前媒体的元数据。

请参阅 MediaPlayer.metaData 了解每个元数据键的详细信息。

另请参阅 mediaMetaData


muted : bool

此属性表示音频输出是否静音。


orientation : int

视频的方向(以度为单位的数值)。仅支持90度的倍数,即0, 90, 180, 270, 360等。


playbackRate : real

此属性表示视频播放速率,相对于正常速率的倍数。


playbackState : enumeration

此只读属性表示媒体播放状态。

默认状态是 MediaPlayer.StoppedState。


position : int

此属性表示当前的播放位置(以毫秒为单位)。


seekable : bool

此属性表示视频播放位置是否可以更改。

如果为true,调用seek()方法或更改position属性将使播放定位到新的位置。


source : url

此属性表示媒体的源URL。


volume : real

此属性表示音频音量。

音量以线性方式从0.0(静音)到1.0(全音量)进行缩放。范围之外的值将被限制。

默认音量是1.0

用户界面音量控制通常应非线性缩放。例如,使用对数刻度将产生感知音量的线性变化,这是用户通常从音量控件中期望得到的。有关更多信息,请参阅QtAudio::convertVolume


信号文档

errorOccurred(error, errorString)

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

注意: 相应的处理程序是onErrorOccurred


暂停()

当播放暂停时发出此信号。

注意: 相应的处理程序是onPaused


播放()

当播放开始或继续时发出此信号。

注意: 相应的处理程序是onPlaying


停止()

当播放停止时发出此信号。

注意: 相应的处理程序是onStopped


方法文档

pause()

暂停媒体播放。


play()

开始媒体播放。


seek(offset)

如果seekable属性为true,则将当前播放位置定位到offset

另请参阅 seekableposition


stop()

停止媒体播放。


© 2024 Qt公司。本文档中包含的文档贡献归各自所有者所有。本提供的文档根据自由软件基金会发布的GNU自由文档许可协议第1.3版的条款进行许可。Qt及其相关标志是芬兰及全球其他地区的Qt公司及其相关国家的注册商标。所有其他商标归各自所有者所有。