视频QML类型
用于显示特定视频的便捷类型。更多...
导入语句 | import QtMultimedia |
继承 |
属性
- autoPlay : bool
(自6.7起)
- bufferProgress : 实数
- duration : int
- error : 枚举
- errorString : 字符串
- fillMode : 枚举
- hasAudio : bool
- hasVideo : bool
- loops : int
- metaData : 媒体元数据
- muted : bool
- orientation : int
- playbackRate : 实数
- playbackState : 枚举
- position : int
- seekable : bool
- source : url
- volume : 实数
信号
- errorOccurred(error, errorString)
- 暂停()
- 播放()
- 停止()
方法
详细描述
Video
是一个将 MediaPlayer 和 VideoOutput 的功能结合在一起便捷类型。它提供简单的视频播放功能,无需声明多个类型。
以下是在场景中实现视频播放的示例代码。
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属性描述。
另请参阅MediaPlayer和VideoOutput。
属性说明
autoPlay : bool |
此属性控制媒体加载后是否自动开始播放。默认值为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 |
muted : bool |
此属性表示音频输出是否静音。
orientation : int |
视频的方向(以度为单位的数值)。仅支持90度的倍数,即0, 90, 180, 270, 360等。
playbackRate : real |
此属性表示视频播放速率,相对于正常速率的倍数。
playbackState : enumeration |
此只读属性表示媒体播放状态。
- MediaPlayer.PlayingState - 媒体正在播放
- MediaPlayer.PausedState - 媒体已暂停
- MediaPlayer.StoppedState - 媒体已停止
默认状态是 MediaPlayer.StoppedState。
position : int |
此属性表示当前的播放位置(以毫秒为单位)。
source : url |
此属性表示媒体的源URL。
volume : real |
此属性表示音频音量。
音量以线性方式从0.0
(静音)到1.0
(全音量)进行缩放。范围之外的值将被限制。
默认音量是1.0
。
用户界面音量控制通常应非线性缩放。例如,使用对数刻度将产生感知音量的线性变化,这是用户通常从音量控件中期望得到的。有关更多信息,请参阅QtAudio::convertVolume。
信号文档
errorOccurred(error, errorString) |
当发生错误时发出此信号。errorString参数可能包含有关错误的更详细信息。
注意: 相应的处理程序是onErrorOccurred
。
暂停() |
当播放暂停时发出此信号。
注意: 相应的处理程序是onPaused
。
播放() |
当播放开始或继续时发出此信号。
注意: 相应的处理程序是onPlaying
。
停止() |
当播放停止时发出此信号。
注意: 相应的处理程序是onStopped
。
方法文档
pause() |
暂停媒体播放。
play() |
开始媒体播放。
stop() |
停止媒体播放。
© 2024 Qt公司。本文档中包含的文档贡献归各自所有者所有。本提供的文档根据自由软件基金会发布的GNU自由文档许可协议第1.3版的条款进行许可。Qt及其相关标志是芬兰及全球其他地区的Qt公司及其相关国家的注册商标。所有其他商标归各自所有者所有。