Video QML Type

지정된 동영상을 표시하기 위한 편의 유형입니다. 더 보기...

Import Statement: import QtMultimedia
Inherits:

Item

속성

신호

방법

상세 설명

VideoMediaPlayerVideoOutput 의 기능을 하나로 결합한 편의 유형입니다. 여러 유형을 선언할 필요 없이 간단한 동영상 재생 기능을 제공합니다.

다음은 장면에서 동영상 재생을 구현하는 샘플 코드입니다.

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
}

소스 파일 video.aviMouseArea 의 부모를 클릭하면 재생됩니다. 동영상은 800 x 600 픽셀의 영역에서 재생되며 id 속성의 값은 video입니다.

Keys 에 대한 신호가 정의되어 있기 때문에

  • Spacebar 일시정지 버튼을 토글합니다.
  • Left Arrow 동영상에서 현재 위치를 5초 전으로 이동합니다.
  • Right Arrow 동영상에서 현재 위치를 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리소스 오류 - 리소스 할당 문제로 인해 동영상을 재생할 수 없습니다.
  • 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.무한으로 설정합니다.

기본값은 1 입니다. 이 속성을 0 으로 설정해도 아무런 효과가 없습니다.


metaData : mediaMetaData

이 속성은 현재 미디어의 메타 데이터를 보유합니다.

각 메타 데이터 키에 대한 자세한 내용은 MediaPlayer.metaData 을 참조하세요.

mediaMetaData도 참조하세요 .


muted : bool

이 속성은 오디오 출력의 음소거 여부를 보유합니다.


orientation : int

이 속성은 표시된 비디오가 비디오 좌표에서 시계 방향으로 회전하는 각도(도)를 결정하며, 여기서 Y축은 디스플레이에서 아래쪽을 가리킵니다.

0, 90, -90, 180, 270 등 90 도의 배수만 지원되며, 그렇지 않으면 지정된 값은 무시됩니다.

기본값은 0 입니다.


playbackRate : real

이 속성은 동영상이 재생되는 속도를 일반 재생 속도의 배수로 유지합니다.


playbackState : enumeration

이 읽기 전용 속성은 미디어의 재생 상태를 나타냅니다.

  • MediaPlayer.PlayingState - 미디어가 재생 중입니다.
  • MediaPlayer.PausedState - 미디어가 일시 중지됨
  • MediaPlayer.StoppedState - 미디어가 중지됨

기본 상태는 MediaPlayer.StoppedState입니다.


position : int

이 프로퍼티는 현재 재생 위치를 밀리초 단위로 저장합니다.


seekable : bool

이 속성은 동영상의 재생 위치를 변경할 수 있는지 여부를 보유합니다.

true인 경우 seek() 메서드를 호출하거나 position 속성을 변경하면 재생 위치가 새 위치로 변경됩니다.


source : url

이 속성은 미디어의 소스 URL을 보유합니다.


volume : real

이 속성은 오디오 볼륨을 보유합니다.

볼륨은 0.0 (무음)에서 1.0 (최대 볼륨)까지 선형적으로 조절됩니다. 이 범위를 벗어나는 값은 클램핑됩니다.

기본 볼륨은 1.0 입니다.

UI 볼륨 컨트롤은 일반적으로 비선형적으로 조절해야 합니다. 예를 들어 로그 스케일을 사용하면 사용자가 일반적으로 볼륨 컨트롤에서 기대할 수 있는 선형적인 음량 변화가 발생합니다. 자세한 내용은 QtAudio::convertVolume()를 참조하세요.


신호 문서

errorOccurred(error, errorString)

이 신호는 error 이벤트가 발생했을 때 발산됩니다. errorString 매개변수에는 오류에 대한 자세한 정보가 포함될 수 있습니다.

참고: 해당 핸들러는 onErrorOccurred 입니다.


paused()

재생이 일시 중지되면 이 신호가 전송됩니다.

참고: 해당 핸들러는 onPaused 입니다.


playing()

재생이 시작되거나 계속될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onPlaying 입니다.


stopped()

재생이 중지되면 이 신호가 전송됩니다.

참고: 해당 핸들러는 onStopped 입니다.


메서드 문서

pause()

미디어 재생을 일시 중지합니다.


play()

미디어 재생을 시작합니다.


seek(offset)

seekable 속성이 참이면 현재 재생 위치를 offset 으로 찾습니다.

seekableposition도 참조하세요 .


stop()

미디어 재생을 중지합니다.


© 2025 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.