MediaPlayer QML Type
씬에 미디어 재생 기능을 추가합니다. 더 보기...
| Import Statement: | import QtMultimedia |
| In C++: | QMediaPlayer |
속성
- activeAudioTrack : int
- activeSubtitleTrack : int
- activeVideoTrack : int
- audioBufferOutput : QAudioBufferOutput
(since 6.8) - audioOutput : AudioOutput
- audioTracks : list<mediaMetaData>
- autoPlay : bool
(since 6.7) - bufferProgress : real
- duration : int
- error : enumeration
- errorString : string
- hasAudio : bool
- hasVideo : bool
- loops : int
- mediaStatus : enumeration
- metaData : mediaMetaData
- pitchCompensation : bool
(since 6.10) - pitchCompensationAvailability : enumeration
(since 6.10) - playbackOptions : PlaybackOptions
(since 6.10) - playbackRate : real
- playbackState : enumeration
- playing : bool
(since 6.5) - position : int
- seekable : bool
- source : url
- subtitleTracks : list<mediaMetaData>
- videoOutput : VideoOutput
- videoTracks : list<mediaMetaData>
신호
- errorOccurred(error, errorString)
- playbackStateChanged()
- playingChanged()
- tracksChanged()
방법
자세한 설명
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();
}
}AudioOutput 및 VideoOutput도 참조하십시오 .
속성 설명
activeAudioTrack : int
이 속성은 현재 활성화된 오디오 트랙의 트랙 번호를 저장합니다. 오디오 트랙을 비활성화하려면 -1 로 설정하십시오.
이 속성의 기본값은 0, 즉 첫 번째 오디오 트랙입니다.
activeSubtitleTrack : int
이 속성은 현재 활성화된 자막 트랙의 트랙 번호를 저장합니다. 자막 트랙을 비활성화하려면 -1 로 설정하십시오.
이 속성의 기본값은 -1 이며, 이 경우 자막이 활성화되지 않습니다.
activeVideoTrack : int
이 속성은 현재 활성화된 비디오 오디오 트랙의 트랙 번호를 저장합니다. 비디오 트랙을 비활성화하려면 -1 로 설정하십시오.
이 속성의 기본값은 0, 즉 첫 번째 비디오 트랙입니다.
audioBufferOutput : QAudioBufferOutput [since 6.8]
이 속성은 대상 오디오 버퍼 출력을 저장합니다.
QML에서 ` MediaPlayer `을 정상적으로 사용하는 경우 이 속성을 사용할 필요가 없습니다.
이 속성은 Qt 6.8에서 도입되었습니다.
QMediaPlayer::audioBufferOutput()도 참조하십시오 .
audioOutput : AudioOutput
이 속성은 대상 오디오 출력을 저장합니다. AudioOutput 요소를 하나 받아들입니다.
QMediaPlayer::setAudioOutput()도 참조하십시오 .
audioTracks : list<mediaMetaData> [read-only]
이 속성은 메타데이터 목록을 포함합니다. 각 인덱스는 오디오 트랙 하나를 가리킵니다.
메타데이터에는 개별 트랙을 설명하는 속성들이 포함되어 있습니다. 오디오 트랙의 경우, ' Language '가 대개 가장 중요한 속성입니다.
이 속성은 수정될 때 ‘ tracksChanged ’ 신호를 발생시킵니다.
mediaMetaData항목도 참조하십시오 .
autoPlay : bool [since 6.7]
이 속성은 미디어가 로드된 후 자동으로 재생이 시작되는지 여부를 제어합니다. 기본값은 ‘ false ’입니다.
이 속성은 Qt 6.7에서 도입되었습니다.
bufferProgress : real [read-only]
이 속성은 데이터 버퍼가 현재 얼마나 채워져 있는지를 나타내며, ‘ 0.0 ’(비어 있음)부터 ‘ 1.0 ’(가득 찼음)까지의 값을 가집니다.
버퍼가 완전히 채워졌을 때만 재생을 시작하거나 재개할 수 있습니다. 버퍼가 채워지면 MediaPlayer.Buffered 는 true가 됩니다. 버퍼 진행도가 0.0 와 1.0 사이일 때, MediaPlayer.Buffering 는 true 로 설정됩니다.
1.0 보다 작은 값은 MediaPlayer.StalledMedia 속성이 true 임을 의미합니다.
mediaStatus도 참조하십시오 .
duration : int [read-only]
이 속성은 미디어의 재생 시간을 밀리초 단위로 저장합니다.
미디어의 재생 시간이 고정되어 있지 않은 경우(예: 라이브 스트림), 이 값은 ` 0`으로 설정됩니다.
error : enumeration [read-only]
이 속성은 오디오의 오류 상태를 나타냅니다. 다음 중 하나일 수 있습니다.
| 상수 | 설명 |
|---|---|
MediaPlayer.NoError | 오류가 발생하지 않았습니다. |
MediaPlayer.ResourceError | 미디어 리소스를 확인할 수 없습니다. |
MediaPlayer.FormatError | 미디어 리소스의 형식이 (완전히) 지원되지 않습니다. 오디오 또는 비디오 구성 요소 없이 재생은 가능할 수 있습니다. |
MediaPlayer.NetworkError | 네트워크 오류가 발생했습니다. |
MediaPlayer.AccessDeniedError | 미디어 리소스를 재생할 수 있는 적절한 권한이 없습니다. |
errorString : string [read-only]
이 속성은 현재 오류 상태를 보다 상세하게 설명하는 문자열을 포함합니다.
hasAudio : bool [read-only]
이 속성은 미디어에 오디오가 포함되어 있는지 여부와 관계없이 적용됩니다.
hasVideo : bool [read-only]
이 속성은 미디어에 동영상이 포함되어 있는지 여부와 관계없이 적용됩니다.
loops : int
플레이어가 중지되기 전까지 미디어가 재생되는 횟수를 결정합니다. 현재 미디어 파일을 무한히 반복 재생하려면 MediaPlayer::Infinite로 설정하십시오.
기본값은 ` 1`입니다. 이 속성을 ` 0 `로 설정해도 아무런 효과가 없습니다.
mediaStatus : enumeration [read-only]
이 속성은 미디어 로딩 상태를 나타냅니다. 다음 중 하나일 수 있습니다:
| 상수 | 설명 |
|---|---|
MediaPlayer.NoMedia | 현재 미디어가 없습니다. 플레이어가 StoppedState 상태에 있습니다. |
MediaPlayer.LoadingMedia | 현재 미디어가 로드 중입니다. 플레이어는 어떤 상태이든 상관없습니다. |
MediaPlayer.LoadedMedia | 현재 미디어가 로드되었습니다. 플레이어는 'StoppedState' 상태입니다. |
MediaPlayer.StalledMedia | 버퍼링 용량이 부족하거나 기타 일시적인 중단으로 인해 현재 미디어의 재생이 멈췄습니다. 플레이어는 PlayingState 또는 PausedState 상태입니다. |
MediaPlayer.BufferingMedia | 플레이어가 데이터를 버퍼링 중이지만, 당분간 재생을 계속하기에 충분한 양의 데이터가 버퍼링되어 있습니다. 플레이어는 '재생 중(PlayingState)' 또는 '일시 정지(PausedState)' 상태입니다. |
MediaPlayer.BufferedMedia | 플레이어가 현재 미디어를 완전히 버퍼링했습니다. 플레이어는 PlayingState 또는 PausedState 상태입니다. |
MediaPlayer.EndOfMedia | 재생이 현재 미디어의 끝까지 도달했습니다. 플레이어는 StoppedState 상태입니다. |
MediaPlayer.InvalidMedia | 현재 미디어를 재생할 수 없습니다. 플레이어는 StoppedState 상태입니다. |
metaData : mediaMetaData [read-only]
미디어 플레이어가 현재 재생 중인 미디어에 대한 메타데이터를 반환합니다.
메타데이터에는 동영상 제목이나 제작 날짜와 같은 정보가 포함될 수 있습니다.
참고: Windows구현에서는 로컬 파일 시스템에 있는 미디어에 대해서만 메타데이터를 제공합니다.
pitchCompensation : bool [since 6.10]
이 속성은 피치 보정이 활성화되어 있는지 여부를 나타냅니다.
이 속성은 Qt 6.10에서 도입되었습니다.
pitchCompensationAvailability : enumeration [read-only, since 6.10]
현재 백엔드에서 ‘ MediaPlayer ’의 피치 보정 기능이 사용 가능한지 여부를 나타냅니다. 열거형 PitchCompensationAvailability 은 범위 제한이 적용됩니다.
| 상수 | 설명 |
|---|---|
MediaPlayer.AlwaysOn | 미디어 플레이어가 항상 피치 보정을 수행합니다. |
MediaPlayer.Available | 미디어 플레이어를 피치 보정 기능을 사용하도록 구성할 수 있습니다. 현재 플랫폼에서 피치 보정 기능을 사용할 수 있는 경우, 기본적으로 활성화되지만 사용자는 필요에 따라 비활성화할 수 있습니다. |
MediaPlayer.Unavailable | 미디어 플레이어는 현재 플랫폼에서 피치 보정을 수행할 수 없습니다. |
이 속성은 Qt 6.10에서 도입되었습니다.
playbackOptions : PlaybackOptions [since 6.10]
이 속성은 미디어 재생 옵션을 저수준으로 제어할 수 있는 PlaybackOptions API를 제공합니다. MediaPlayer 의 기본 설정을 사용하는 것을 강력히 권장하지만, 기본 옵션이 적합하지 않은 특정 사용 사례에서는 이 API를 사용하여 미디어 재생을 최적화할 수 있습니다.
재생 옵션은 MediaPlayer::source 가 다음에 변경될 때 적용됩니다.
이 속성은 Qt 6.10에서 도입되었습니다.
playbackRate : real
이 속성은 미디어 재생 속도를 표준 속도의 배수로 지정합니다.
자세한 내용은 QMediaPlayer::playbackRate 를 참조하십시오.
기본값은 1.0 입니다.
playbackState : enumeration [read-only]
이 속성은 미디어 재생 상태를 나타냅니다. 다음 중 하나일 수 있습니다:
| 속성 값 | 설명 |
|---|---|
| PlayingState | 미디어가 현재 재생 중입니다. 이는 ` playing ` 속성과 동일한 의미를 나타냅니다. |
| PausedState | 미디어 재생이 일시 중지되었습니다. |
| 중지 상태 | 미디어 재생이 아직 시작되지 않았습니다. |
playing : bool [read-only, since 6.5]
미디어가 현재 재생 중인지 여부를 나타냅니다.
이 속성은 Qt 6.5에서 도입되었습니다.
playbackState도 참조하십시오 .
position : int
이 값은 미디어의 시작 시점부터 계산된 밀리초 단위의 현재 재생 위치입니다. 위치가 주기적으로 변경되면 positionChanged() 신호를 통해 표시됩니다.
seekable 속성이 true인 경우, 이 속성을 밀리초 단위로 설정할 수 있습니다.
seekable : bool [read-only]
이 속성은 미디어의 position 값을 변경할 수 있는지 여부를 나타냅니다.
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 : list<mediaMetaData> [read-only]
이 속성은 메타데이터 목록을 포함합니다. 각 인덱스는 자막 트랙을 나타냅니다.
메타데이터에는 개별 트랙을 설명하는 속성들이 포함되어 있습니다. 자막 트랙의 경우, ` Language ` 속성이 대개 가장 중요한 속성입니다.
이 속성은 수정될 때 ‘ tracksChanged ’ 신호를 발생시킵니다.
mediaMetaData항목도 참조하십시오 .
videoOutput : VideoOutput
이 속성은 대상 비디오 출력을 저장합니다. VideoOutput 요소 하나를 허용합니다.
QMediaPlayer::setVideoOutput()도 참조하십시오 .
videoTracks : list<mediaMetaData> [read-only]
이 속성은 메타데이터 목록을 포함합니다. 각 인덱스는 하나의 비디오 트랙을 가리킵니다.
메타데이터에는 개별 트랙을 설명하는 속성들이 포함되어 있습니다.
이 속성은 수정될 때 ‘ tracksChanged ’ 신호를 발생시킵니다.
mediaMetaData도 참조하십시오 .
신호 문서
errorOccurred(error, errorString)
이 신호는 error 가 발생했을 때 전송됩니다. errorString 매개변수에는 오류에 대한 보다 자세한 정보가 포함되어 있을 수 있습니다.
참고: 해당 핸들러는 onErrorOccurred 입니다.
참조: QMediaPlayer::Error.
playbackStateChanged()
이 신호는 playbackState 속성이 변경될 때 발생합니다.
참고: 이에 해당하는핸들러는 onPlaybackStateChanged 입니다.
playingChanged()
이 신호는 playing 속성이 변경될 때 발생합니다.
참고: 이에 해당하는핸들러는 onPlayingChanged 입니다.
tracksChanged()
이 신호는 audioTracks, subtitleTracks 또는 videoTracks 속성이 변경될 때 발생합니다.
참고: 해당 핸들러는 onTracksChanged 입니다.
메서드 문서
void pause()
미디어 재생을 일시 중지합니다.
playbackState 속성을 PausedState로 설정하고, playing 을 false 로 변경합니다.
void play()
미디어 재생을 시작하거나 재개합니다.
playbackState 속성을 PlayingState로 설정하고, playing 를 true 로 변경합니다.
void stop()
미디어 재생을 중지합니다.
playbackState 속성을 StoppedState로 설정하고, playing 를 false 로 변경합니다.
© 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.