이 페이지에서

QMediaPlayer Class

QMediaPlayer 클래스를 사용하면 미디어 파일을 재생할 수 있습니다. 더 보기...

헤더: #include <QMediaPlayer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
QML에서: MediaPlayer
상속: QObject

공개 유형

enum Error { NoError, ResourceError, FormatError, NetworkError, AccessDeniedError }
enum Loops { Infinite, Once }
enum MediaStatus { NoMedia, LoadingMedia, LoadedMedia, StalledMedia, BufferingMedia, …, InvalidMedia }
(since 6.10) enum class PitchCompensationAvailability { AlwaysOn, Available, Unavailable }
enum PlaybackState { StoppedState, PlayingState, PausedState }

속성

공개 함수

QMediaPlayer(QObject *parent = nullptr)
virtual ~QMediaPlayer() override
int activeAudioTrack() const
int activeSubtitleTrack() const
int activeVideoTrack() const
QAudioBufferOutput *audioBufferOutput() const
QAudioOutput *audioOutput() const
QList<QMediaMetaData> audioTracks() const
float bufferProgress() const
QMediaTimeRange bufferedTimeRange() const
qint64 duration() const
QMediaPlayer::Error error() const
QString errorString() const
bool hasAudio() const
bool hasVideo() const
bool isAvailable() const
bool isPlaying() const
bool isSeekable() const
int loops() const
QMediaPlayer::MediaStatus mediaStatus() const
QMediaMetaData metaData() const
(since 6.10) bool pitchCompensation() const
(since 6.10) QMediaPlayer::PitchCompensationAvailability pitchCompensationAvailability() const
QPlaybackOptions playbackOptions() const
qreal playbackRate() const
QMediaPlayer::PlaybackState playbackState() const
qint64 position() const
void setActiveAudioTrack(int index)
void setActiveSubtitleTrack(int index)
void setActiveVideoTrack(int index)
void setAudioBufferOutput(QAudioBufferOutput *output)
void setAudioOutput(QAudioOutput *output)
void setLoops(int loops)
void setVideoOutput(QObject *)
void setVideoSink(QVideoSink *sink)
QUrl source() const
const QIODevice *sourceDevice() const
QList<QMediaMetaData> subtitleTracks() const
QObject *videoOutput() const
QVideoSink *videoSink() const
QList<QMediaMetaData> videoTracks() const

공개 슬롯

void pause()
void play()
void resetPlaybackOptions()
(since 6.10) void setPitchCompensation(bool enabled) const
void setPlaybackOptions(const QPlaybackOptions &options)
void setPlaybackRate(qreal rate)
void setPosition(qint64 position)
void setSource(const QUrl &source)
void setSourceDevice(QIODevice *device, const QUrl &sourceUrl = QUrl())
void stop()

신호

void activeTracksChanged()
void audioBufferOutputChanged()
void audioOutputChanged()
void bufferProgressChanged(float filled)
void durationChanged(qint64 duration)
void errorChanged()
void errorOccurred(QMediaPlayer::Error error, const QString &errorString)
void hasAudioChanged(bool available)
void hasVideoChanged(bool videoAvailable)
void loopsChanged()
void mediaStatusChanged(QMediaPlayer::MediaStatus status)
void metaDataChanged()
void pitchCompensationChanged(bool)
void playbackOptionsChanged()
void playbackRateChanged(qreal rate)
void playbackStateChanged(QMediaPlayer::PlaybackState newState)
void playingChanged(bool playing)
void positionChanged(qint64 position)
void seekableChanged(bool seekable)
void sourceChanged(const QUrl &media)
void tracksChanged()
void videoOutputChanged()

상세 설명

QMediaPlayer 클래스는 고급 미디어 재생 클래스입니다. 이 클래스를 사용하여 오디오 및 비디오 미디어 파일을 재생할 수 있습니다. 재생할 콘텐츠는 ` QUrl ` 객체로 지정됩니다.

player = new QMediaPlayer;
audioOutput = new QAudioOutput;
player->setAudioOutput(audioOutput);
connect(player, &QMediaPlayer::positionChanged, this, &MediaExample::positionChanged);
player->setSource(QUrl::fromLocalFile("/Users/me/Music/coolsong.mp3"));
audioOutput->setVolume(0.5);
player->play();

QVideoWidget QMediaPlayer와 함께 사용하여 비디오를 렌더링할 수 있습니다.

QVideoWidget도 참조하십시오 .

멤버 유형 문서

enum QMediaPlayer::Error

미디어 플레이어의 오류 상태를 정의합니다.

상수값설명
QMediaPlayer::NoError0오류가 발생하지 않았습니다.
QMediaPlayer::ResourceError1미디어 리소스를 확인할 수 없습니다.
QMediaPlayer::FormatError2미디어 리소스의 형식이 (완전히) 지원되지 않습니다. 재생은 가능할 수 있지만, 오디오 또는 비디오 구성 요소가 포함되지 않을 수 있습니다.
QMediaPlayer::NetworkError3네트워크 오류가 발생했습니다.
QMediaPlayer::AccessDeniedError4미디어 리소스를 재생할 수 있는 적절한 권한이 없습니다.

enum QMediaPlayer::Loops

loops 속성에 대한 몇 가지 미리 정의된 상수입니다.

상수값설명
QMediaPlayer::Infinite-1영원히 반복합니다.
QMediaPlayer::Once1미디어를 한 번 재생합니다(기본값).

enum QMediaPlayer::MediaStatus

미디어 플레이어의 현재 미디어 상태를 정의합니다.

상수값설명
QMediaPlayer::NoMedia0현재 재생 중인 미디어가 없습니다. 플레이어는 ' StoppedState' 상태입니다.
QMediaPlayer::LoadingMedia1현재 미디어가 로드 중입니다. 플레이어는 어떤 상태에나 있을 수 있습니다.
QMediaPlayer::LoadedMedia2현재 미디어가 로드되었습니다. 플레이어는 StoppedState 상태입니다.
QMediaPlayer::StalledMedia3버퍼링 용량이 부족하거나 기타 일시적인 중단으로 인해 현재 미디어의 재생이 일시 중단되었습니다. 플레이어는 ‘ PlayingState ’ 또는 ‘ PausedState ’ 상태에 있습니다.
QMediaPlayer::BufferingMedia4플레이어가 데이터를 버퍼링 중이지만, 당분간 재생을 계속하기에 충분한 양의 데이터가 버퍼링되어 있습니다. 플레이어는 ‘ PlayingState ’ 또는 ‘ PausedState ’ 상태에 있습니다.
QMediaPlayer::BufferedMedia5플레이어가 현재 미디어를 완전히 버퍼링했습니다. 플레이어는 PlayingState 또는 PausedState 상태에 있습니다.
QMediaPlayer::EndOfMedia6재생이 현재 미디어의 끝까지 도달했습니다. 플레이어는 ' StoppedState' 상태에 있습니다.
QMediaPlayer::InvalidMedia7현재 미디어를 재생할 수 없습니다. 플레이어는 ' StoppedState' 상태에 있습니다.

[since 6.10] enum class QMediaPlayer::PitchCompensationAvailability

피치 보정 기능의 지원 여부.

재생 속도를 변경할 때 피치 보정에 대한 동작은 백엔드마다 다릅니다.

상수값설명
QMediaPlayer::PitchCompensationAvailability::AlwaysOn0미디어 플레이어는 항상 피치 보정을 수행합니다.
QMediaPlayer::PitchCompensationAvailability::Available1피치 보정을 사용하도록 미디어 플레이어를 구성할 수 있습니다. 현재 플랫폼에서 피치 보정을 사용할 수 있는 경우 기본적으로 활성화되지만, 사용자는 필요한 경우 비활성화할 수 있습니다.
QMediaPlayer::PitchCompensationAvailability::Unavailable2미디어 플레이어는 현재 플랫폼에서 피치 보정을 수행할 수 없습니다.

이 열거형은 Qt 6.10에서 도입되었습니다.

enum QMediaPlayer::PlaybackState

미디어 플레이어의 현재 상태를 정의합니다.

상수값설명
QMediaPlayer::StoppedState0미디어 플레이어가 콘텐츠를 재생하지 않고 있으며, 현재 트랙의 시작 부분부터 재생이 시작됩니다.
QMediaPlayer::PlayingState1미디어 플레이어가 현재 콘텐츠를 재생 중입니다. 이는 ` playing ` 속성과 동일한 의미를 가집니다.
QMediaPlayer::PausedState2미디어 플레이어의 재생이 일시 정지된 상태이며, 현재 트랙의 재생은 플레이어가 일시 정지된 위치부터 재개됩니다.

속성 설명

activeAudioTrack : int

현재 활성화된 오디오 트랙을 반환합니다.

기본적으로 사용 가능한 첫 번째 오디오 트랙이 선택됩니다.

index 를 -1 로 설정하면 모든 오디오 트랙이 비활성화됩니다.

액세스 함수:

int activeAudioTrack() const
void setActiveAudioTrack(int index)

알림 신호:

void activeTracksChanged()

activeSubtitleTrack : int

현재 활성화된 자막 트랙을 반환합니다.

index 를 -1 로 설정하면 자막이 비활성화됩니다.

자막은 기본적으로 비활성화되어 있습니다.

액세스 함수:

int activeSubtitleTrack() const
void setActiveSubtitleTrack(int index)

알림 신호:

activeVideoTrack : int

현재 활성화된 비디오 트랙을 반환합니다.

기본적으로 사용 가능한 첫 번째 오디오 트랙이 선택됩니다.

모든 비디오 트랙을 비활성화하려면 ` index `를 ` -1 `로 설정하십시오.

액세스 함수:

int activeVideoTrack() const
void setActiveVideoTrack(int index)

알림 신호:

[since 6.8] audioBufferOutput : QAudioBufferOutput*

이 속성은 미디어 플레이어에서 사용하는 출력 오디오 버퍼를 저장합니다.

미디어 플레이어에 오디오 버퍼 output 를 설정합니다.

QAudioBufferOutput 가 지정되고 미디어 소스에 오디오 스트림이 포함된 경우, 미디어 플레이어는 디코딩된 오디오 데이터가 포함된 오디오 버퍼와 함께 QAudioBufferOutput::audioBufferReceived 신호를 출력합니다. 오디오 스트림이 끝날 때, QMediaPlayer 는 빈 QAudioBuffer 를 출력합니다.

QMediaPlayer 지정된 경우, 오디오 출력 장치로 해당 데이터를 푸시하는 동시에 오디오 버퍼를 출력합니다. 그러나 오디오 버퍼화 과정으로 인해 소리가 약간 지연되어 재생될 수 있습니다.

발출되는 오디오 버퍼의 형식은 지정된 output 에서 가져오거나, output 가 유효하지 않은 형식을 반환하는 경우 일치하는 오디오 스트림에서 가져옵니다. 발출된 오디오 데이터는 현재 재생 속도에 따라 스케일링되지 않습니다.

QAudioBufferOutput 와 QMediaPlayer 를 함께 활용할 수 있는 잠재적인 사용 사례는 다음과 같습니다:

  • 오디오 시각화. 미디어 플레이어의 재생 속도가 1 와 일치하지 않는 경우, 시각화 도구의 요구 사항에 따라 출력 이미지 크기를 조정하거나 이미지 업데이트 간격을 조절할 수 있습니다.
  • 음성 인식과 같은 AI 기반 오디오 처리.
  • 외부 오디오 출력으로 데이터 전송. 재생 속도 변경, 비디오와의 동기화, 중지 및 탐색 시 수동 플러싱을 고려해야 합니다. 특별한 이유가 없는 한, 이러한 목적으로 오디오 버퍼 출력을 사용하는 것은 권장하지 않습니다.

이 열거형은 Qt 6.8에서 도입되었습니다.

액세스 함수:

QAudioBufferOutput *audioBufferOutput() const
void setAudioBufferOutput(QAudioBufferOutput *output)

Notifier 신호:

void audioBufferOutputChanged()

audioOutput : QAudioOutput*

이 속성은 미디어 플레이어가 사용하는 오디오 출력 장치를 저장합니다.

미디어를 재생할 때 사용될 현재 오디오 출력 장치입니다. 새로운 오디오 출력을 설정하면 현재 사용 중인 출력이 대체됩니다.

이 속성을 ` nullptr `로 설정하면 모든 오디오 출력이 비활성화됩니다.

액세스 함수:

QAudioOutput *audioOutput() const
void setAudioOutput(QAudioOutput *output)

알림 신호:

void audioOutputChanged()

[read-only] audioTracks : QList<QMediaMetaData>

미디어 내에 포함된 사용 가능한 오디오 트랙 집합을 나열합니다.

반환되는 ` QMediaMetaData `는 개별 트랙의 속성을 설명합니다.

예를 들어, 서로 다른 오디오 트랙에는 서로 다른 언어로 된 오디오가 포함될 수 있습니다.

액세스 함수:

QList<QMediaMetaData> audioTracks() const

알림 신호:

void tracksChanged()

[read-only] bufferProgress : float

이 속성은 재생이 시작되거나 재개되기 전, 임시 버퍼가 채워진 비율을 나타내며, 값의 범위는 0(비어 있음)부터 1(가득 찼음)까지입니다.

플레이어 객체가 버퍼링 중일 때, 이 속성은 임시 버퍼가 채워진 비율을 나타냅니다. 재생이 시작되거나 재개되려면 버퍼가 100% 채워져야 하며, 이때 mediaStatus()는 BufferedMedia 또는 BufferingMedia 를 반환합니다. 값이 100 보다 낮을 경우, mediaStatus()는 StalledMedia 를 반환합니다.

액세스 함수:

float bufferProgress() const

알림 신호:

void bufferProgressChanged(float filled)

mediaStatus()도 참조하십시오 .

[read-only] duration : qint64

이 속성은 현재 미디어의 재생 시간을 나타냅니다.

이 값은 현재 미디어의 총 재생 시간을 밀리초 단위로 나타냅니다. 이 값은 ` QMediaPlayer ` 객체의 수명 주기 동안 변할 수 있으며, 초기 재생이 시작될 때는 사용할 수 없을 수도 있습니다. 상태 알림을 수신하려면 ` durationChanged()` 신호에 연결하십시오.

액세스 함수:

qint64 duration() const

알림 신호:

void durationChanged(qint64 duration)

[read-only] error : Error

이 속성은 마지막 오류 상황을 설명하는 문자열을 포함합니다.

액세스 함수:

QMediaPlayer::Error error() const

알림 신호:

void errorChanged()

error()도 참조하십시오 .

[read-only] errorString : QString

이 속성은 현재 오류 상태를 보다 상세하게 설명하는 문자열을 포함합니다.

액세스 함수:

QString errorString() const

알림 신호:

void errorChanged()

[read-only] hasAudio : bool

이 속성은 미디어에 오디오가 포함되어 있는지 여부를 나타냅니다.

액세스 함수:

bool hasAudio() const

알림 신호:

void hasAudioChanged(bool available)

[read-only] hasVideo : bool

이 속성은 미디어에 동영상이 포함되어 있는지 여부를 나타냅니다.

액세스 함수:

bool hasVideo() const

알림 신호:

void hasVideoChanged(bool videoAvailable)

loops : int

플레이어가 중지되기 전까지 미디어가 재생되는 횟수를 결정합니다. 현재 미디어 파일을 무한히 반복 재생하려면 이 속성을 ‘ QMediaPlayer::Infinite ’로 설정하십시오.

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

액세스 함수:

int loops() const
void setLoops(int loops)

알림 신호:

void loopsChanged()

[read-only] mediaStatus : MediaStatus

이 속성은 현재 미디어 스트림의 상태를 나타냅니다.

스트림 상태는 현재 스트림의 재생 진행 상황을 나타냅니다.

기본적으로 이 속성은 QMediaPlayer::NoMedia

액세스 함수:

QMediaPlayer::MediaStatus mediaStatus() const

알림 신호:

void mediaStatusChanged(QMediaPlayer::MediaStatus status)

[read-only] metaData : QMediaMetaData

미디어 플레이어에서 현재 사용 중인 미디어에 대한 메타데이터를 반환합니다.

메타데이터에는 동영상 제목이나 제작 날짜와 같은 정보가 포함될 수 있습니다.

참고: Windows구현에서는 로컬 파일 시스템에 위치한 미디어에 대해서만 메타데이터를 제공합니다.

액세스 함수:

QMediaMetaData metaData() const

알림 신호:

void metaDataChanged()

[since 6.10] pitchCompensation : bool

이 속성은 미디어 플레이어의 피치 보정 상태를 나타냅니다.

피치 보정이 활성화되어 있는지 여부를 나타냅니다. 활성화된 경우, 재생 속도를 변경해도 오디오 신호의 피치에는 영향을 미치지 않습니다.

참고: 피치보정은 QMediaPlayer 의 CPU 부하를 증가시킵니다.

기본값은 피치 보정이 가능한 경우 true 이고, 그렇지 않은 경우 false 입니다.

이 열거형은 Qt 6.10에서 도입되었습니다.

액세스 함수:

bool pitchCompensation() const
void setPitchCompensation(bool enabled) const

알림 신호:

void pitchCompensationChanged(bool)

[read-only, since 6.10] pitchCompensationAvailability : const PitchCompensationAvailability

이 속성은 현재 QtMultimedia 백엔드에서 피치 보정 기능의 사용 가능 여부를 나타냅니다.

현재 백엔드에서 QMediaPlayer 의 피치 보정 기능 사용 가능 여부를 나타냅니다.

참고: 백엔드에따라 동작 방식이 다를 수 있습니다.

자세한 내용은 QMediaPlayer::PitchCompensationAvailability 을 참조하십시오.

이 열거형은 Qt 6.10에서 도입되었습니다.

액세스 함수:

QMediaPlayer::PitchCompensationAvailability pitchCompensationAvailability() const

[since 6.10] playbackOptions : QPlaybackOptions

미디어 재생 및 디코딩을 구성하는 데 사용되는 고급 재생 옵션입니다.

이 속성은 미디어 재생 옵션을 저수준에서 제어할 수 있게 해주는 QPlaybackOptions API를 제공합니다. QMediaPlayer 의 기본 설정을 사용하는 것을 강력히 권장하지만, 기본 옵션이 적합하지 않은 특정 사용 사례에서 미디어 재생을 최적화하기 위해 이 API를 사용할 수 있습니다.

재생 옵션은 다음에 QMediaPlayer::setSource()이 호출될 때 적용됩니다.

이 열거형은 Qt 6.10에서 도입되었습니다.

액세스 함수:

QPlaybackOptions playbackOptions() const
void setPlaybackOptions(const QPlaybackOptions &options)
void resetPlaybackOptions()

알림 신호:

void playbackOptionsChanged()

playbackRate : qreal

이 속성은 현재 미디어의 재생 속도를 나타냅니다.

이 값은 미디어의 표준 재생 속도에 적용되는 배율입니다. 기본적으로 이 값은 1.0이며, 이는 미디어가 표준 속도로 재생되고 있음을 나타냅니다. 1.0보다 큰 값은 재생 속도를 높이고, 0.0과 1.0 사이의 값은 재생 속도를 늦춥니다. 음수의 재생 속도는 지원되지 않습니다.

모든 재생 서비스가 재생 속도 변경을 지원하는 것은 아닙니다. 빨리 감기 또는 되감기 시 오디오 및 비디오의 상태와 품질에 대한 처리는 프레임워크에 의해 정의됩니다.

액세스 함수:

qreal playbackRate() const
void setPlaybackRate(qreal rate)

알림 신호:

void playbackRateChanged(qreal rate)

[read-only] playbackState : PlaybackState

PlaybackState 를 반환합니다.

액세스 함수:

QMediaPlayer::PlaybackState playbackState() const

알림 신호:

void playbackStateChanged(QMediaPlayer::PlaybackState newState)

playing도 참조하십시오 .

[read-only, since 6.5] playing : bool

이 속성은 미디어가 재생 중인지 여부와 관계없이 유지됩니다.

이 열거형은 Qt 6.5에서 도입되었습니다.

액세스 함수:

bool isPlaying() const

알림 신호:

void playingChanged(bool playing)

playbackState 및 PlayingState도 참조하십시오 .

position : qint64

이 속성은 현재 미디어의 재생 위치를 저장합니다.

값은 미디어 시작 시점부터의 밀리초 단위로 표시된 현재 재생 위치입니다. 위치가 주기적으로 변경될 경우, positionChanged() 신호를 통해 표시됩니다.

seekable 속성이 true인 경우, 이 속성은 밀리초 단위로 설정할 수 있습니다.

액세스 함수:

qint64 position() const
void setPosition(qint64 position)

알림 신호:

void positionChanged(qint64 position)

[read-only] seekable : bool

이 속성은 현재 미디어의 탐색 가능 여부를 나타냅니다.

시퀀싱이 지원되는 경우 이 속성은 true를 반환하며, 그렇지 않은 경우 false를 반환합니다. 이 속성의 상태는 ` QMediaPlayer ` 객체의 수명 주기 동안 변경될 수 있으므로, 변경 사항을 모니터링하려면 ` seekableChanged ` 신호를 사용하십시오.

액세스 함수:

bool isSeekable() const

알림 신호:

void seekableChanged(bool seekable)

source : QUrl

이 속성은 플레이어 객체가 현재 사용하고 있는 활성 미디어 소스를 저장합니다.

플레이어 객체는 재생할 콘텐츠를 선택하기 위해 ` QUrl `를 사용합니다.

기본적으로 이 속성의 미디어 소스( QUrl)는 null입니다.

이 속성을 null QUrl 로 설정하면 플레이어는 현재 미디어 소스와 관련된 모든 정보를 삭제하고 해당 미디어와 관련된 모든 I/O 작업을 중단합니다.

액세스 함수:

QUrl source() const
void setSource(const QUrl &source)

알림 신호:

void sourceChanged(const QUrl &media)

QUrl도 참조하십시오 .

[read-only] subtitleTracks : QList<QMediaMetaData>

미디어 내에 포함된 사용 가능한 자막 트랙 목록을 반환합니다.

반환된 ` QMediaMetaData `는 개별 트랙의 속성을 설명합니다.

액세스 함수:

QList<QMediaMetaData> subtitleTracks() const

알림 신호:

void tracksChanged()

videoOutput : QObject*

이 속성은 미디어 플레이어에서 사용할 비디오 출력을 지정합니다.

미디어 플레이어에는 하나의 비디오 출력만 연결할 수 있으므로, 이 속성을 설정하면 이전에 연결된 비디오 출력이 대체됩니다.

이 속성을 nullptr 로 설정하면 비디오 출력이 비활성화됩니다.

액세스 함수:

QObject *videoOutput() const
void setVideoOutput(QObject *)

알림 신호:

void videoOutputChanged()

[read-only] videoTracks : QList<QMediaMetaData>

미디어 내에 포함된 사용 가능한 비디오 트랙 집합을 나열합니다.

반환된 ` QMediaMetaData ` 객체는 개별 트랙의 속성을 설명합니다.

액세스 함수:

QList<QMediaMetaData> videoTracks() const

알림 신호:

void tracksChanged()

멤버 함수 설명서

[explicit] QMediaPlayer::QMediaPlayer(QObject *parent = nullptr)

parent 의 자식 요소로 QMediaPlayer 인스턴스를 생성합니다.

[override virtual noexcept] QMediaPlayer::~QMediaPlayer()

플레이어 오브젝트를 파괴합니다.

float QMediaPlayer::bufferProgress() const

데이터를 버퍼링할 때 0과 1 사이의 숫자를 반환합니다.

0은 버퍼링된 데이터가 없음을 의미하며, 이 경우 일반적으로 재생이 일시 중지됩니다. 버퍼가 1에 도달하면, 즉 재생을 재개할 수 있을 만큼 충분한 데이터가 버퍼링되면 재생이 재개됩니다.

bufferProgress()는 로컬 파일의 경우 항상 1을 반환합니다.

참고: bufferProgress 속성에 대한게터 함수입니다.

[signal] void QMediaPlayer::bufferProgressChanged(float filled)

filled 로컬 버퍼의 용량을 0에서 1 사이의 숫자로 표시합니다.

참고: 속성 bufferProgress 에 대한Notifier 신호입니다.

QMediaTimeRange QMediaPlayer::bufferedTimeRange() const

현재 버퍼링된 데이터를 설명하는 ` QMediaTimeRange ` 객체를 반환합니다.

원격 소스에서 미디어를 스트리밍할 때, 미디어 파일의 서로 다른 부분이 로컬에 존재할 수 있습니다. 반환된 ` QMediaTimeRange ` 객체는 버퍼링되어 즉시 재생 가능한 시간 범위를 설명합니다.

QMediaTimeRange도 참조하십시오 .

qint64 QMediaPlayer::duration() const

현재 미디어의 재생 시간을 밀리초(ms) 단위로 반환합니다.

미디어 플레이어에 유효한 미디어 파일이나 스트림이 없는 경우 0을 반환합니다. 라이브 스트림의 경우, 더 많은 데이터가 제공됨에 따라 재생 중에 재생 시간이 일반적으로 변동합니다.

참고: duration 속성에 대한게터 함수입니다.

[signal] void QMediaPlayer::durationChanged(qint64 duration)

콘텐츠의 지속 시간이 duration 로 변경되었음을 알리며, 이는 밀리초 단위로 표시됩니다.

참고: duration 속성에 대한알림 신호입니다.

QMediaPlayer::Error QMediaPlayer::error() const

현재 오류 상태를 반환합니다.

참고: error 속성에 대한게터 함수입니다.

[signal] void QMediaPlayer::errorOccurred(QMediaPlayer::Error error, const QString &errorString)

error 상태가 발생했음을 알리며, errorString 에 오류에 대한 설명이 포함되어 있습니다.

errorString()도 참조하십시오 .

[signal] void QMediaPlayer::hasAudioChanged(bool available)

오디오 콘텐츠의 사용 가능 상태가 ‘ available ’로 변경되었음을 알립니다.

참고: 속성 hasAudio 에 대한알림 신호입니다.

[signal] void QMediaPlayer::hasVideoChanged(bool videoAvailable)

시각적 콘텐츠의 사용 가능 여부가 ‘ videoAvailable ’로 변경되었음을 알립니다.

참고: 속성 hasVideo 에 대한알림 신호입니다.

bool QMediaPlayer::isAvailable() const

이 플랫폼에서 해당 미디어 플레이어가 지원되는 경우 true를 반환합니다.

bool QMediaPlayer::isSeekable() const

미디어를 탐색할 수 있는 경우 true를 반환합니다. 대부분의 파일 기반 미디어 파일은 탐색이 가능하지만, 라이브 스트림은 대개 탐색이 불가능합니다.

참고: seekable 속성의게터 함수입니다.

참조: position.

[signal] void QMediaPlayer::mediaStatusChanged(QMediaPlayer::MediaStatus status)

현재 미디어의 status 속성이 변경되었음을 알리는 신호입니다.

참고: 속성 ` mediaStatus`에 대한알림 신호입니다.

mediaStatus()도 참조하십시오 .

[slot] void QMediaPlayer::pause()

현재 소스의 재생을 일시 중지합니다.

play() 및 stop()도 참조하십시오 .

[since 6.10] bool QMediaPlayer::pitchCompensation() const

피치 보정의 상태를 반환합니다.

참고: pitchCompensation 속성에 대한게터 함수입니다.

이 함수는 Qt 6.10에서 도입되었습니다.

setPitchCompensation()도 참조하십시오 .

[since 6.10] QMediaPlayer::PitchCompensationAvailability QMediaPlayer::pitchCompensationAvailability() const

현재 백엔드의 피치 보정 사용 가능 여부를 반환합니다.

참고: pitchCompensationAvailability 속성에 대한게터 함수입니다.

이 함수는 Qt 6.10에서 도입되었습니다.

[slot] void QMediaPlayer::play()

현재 소스의 재생을 시작하거나 재개합니다.

pause() 및 stop()도 참조하십시오 .

qreal QMediaPlayer::playbackRate() const

현재 재생 속도를 반환합니다.

참고: playbackRate 속성에 대한게터 함수입니다.

setPlaybackRate()도 참조하십시오 .

[signal] void QMediaPlayer::playbackRateChanged(qreal rate)

playbackRate 가 rate 로 변경되었음을 알립니다.

참고: playbackRate 속성에 대한알림 신호입니다.

qint64 QMediaPlayer::position() const

재생 중인 미디어 내의 현재 위치를 밀리초 단위로 반환합니다.

미디어 플레이어에 유효한 미디어 파일이나 스트림이 없는 경우 0을 반환합니다. 라이브 스트림의 경우, 재생 중에 더 많은 데이터가 제공됨에 따라 재생 시간이 일반적으로 변경됩니다.

참고: position 속성에 대한게터 함수입니다.

setPosition()도 참조하십시오 .

[signal] void QMediaPlayer::positionChanged(qint64 position)

콘텐츠의 위치가 position 로 변경되었음을 밀리초 단위로 알립니다.

참고: position 속성에 대한알림 신호입니다.

[signal] void QMediaPlayer::seekableChanged(bool seekable)

플레이어 객체의 seekable 상태가 변경되었음을 알립니다.

참고: 속성 seekable 에 대한알림 신호입니다.

[slot, since 6.10] void QMediaPlayer::setPitchCompensation(bool enabled) const

피치 보정의 상태(enabled 또는 disabled)를 설정합니다. 이 설정은 런타임 시 백엔드에서 오디오 피치 보정을 구성할 수 있는 경우에만 적용됩니다.

참고: pitchCompensation 속성에 대한세터 함수입니다.

이 함수는 Qt 6.10에서 도입되었습니다.

pitchCompensation()도 참조하십시오 .

[slot] void QMediaPlayer::setSource(const QUrl &source)

현재 미디어 소스( source)를 설정합니다.

미디어의 ` QUrl `을 null로 설정하면 플레이어가 현재 미디어 소스와 관련된 모든 정보를 삭제하고 해당 미디어와 관련된 모든 I/O 작업을 중단합니다. 미디어를 설정하면 재생이 중지됩니다.

참고: 이 함수는 지정된 미디어 소스를 기록한 직후 즉시 반환됩니다. 미디어 로딩이 완료될 때까지 기다리지 않으며 오류 여부도 확인하지 않습니다. 미디어가 로딩되었을 때와 로딩 중 오류가 발생했을 때 알림을 받으려면 mediaStatusChanged() 및 error() 신호를 수신 대기하십시오.

참고: FFmpeg 미디어 백엔드에서 사용하는 FFmpeg는 보안상의 이유로 중첩된 프로토콜의 사용을 제한합니다. 모든 입력이 신뢰할 수 있는 통제된 환경에서는 QT_FFMPEG_PROTOCOL_WHITELIST 환경 변수를 사용하여 승인된 프로토콜 목록을 재정의할 수 있습니다. 이 환경 변수는 Qt의 비공개 API이며, 패치 릴리스 간에 사전 공지 없이 변경될 수 있습니다.

참고: 속성 ` source`에 대한세터 함수입니다.

source()도 참조하십시오 .

[slot] void QMediaPlayer::setSourceDevice(QIODevice *device, const QUrl &sourceUrl = QUrl())

device 를 현재 소스로 설정합니다.

미디어 데이터는 device 에서 읽혀집니다. sourceUrl 를 제공하여 미디어에 대한 추가 정보(MIME 유형 등)를 확인할 수 있습니다. device 는 열려 있고 읽기 권한이 있어야 합니다.

macOS의 경우 device 는 시크(seek)가 가능해야 합니다.

참고: 이 함수는 지정된 미디어 소스를 기록한 직후에 반환됩니다. 미디어 로딩이 완료될 때까지 기다리지 않으며 오류 여부도 확인하지 않습니다. 미디어가 로딩되었을 때 또는 로딩 중 오류가 발생했을 때 알림을 받으려면 mediaStatusChanged() 및 error() 신호를 수신해야 합니다.

sourceDevice()도 참조하십시오 .

void QMediaPlayer::setVideoSink(QVideoSink *sink)

sink 를 비디오 데이터를 가져올 QVideoSink 인스턴스로 설정합니다.

videoSink()도 참조하십시오 .

[signal] void QMediaPlayer::sourceChanged(const QUrl &media)

미디어 소스가 media 로 변경되었음을 알립니다.

참고: source 속성에 대한알림 신호입니다.

const QIODevice *QMediaPlayer::sourceDevice() const

미디어 데이터의 스트림 소스를 반환합니다.

이는 setSource()에 스트림이 전달된 경우에만 유효합니다.

setSourceDevice() 및 setSource()도 참조하십시오 .

[slot] void QMediaPlayer::stop()

재생을 중지하고 재생 위치를 처음으로 되돌립니다.

play() 및 pause()도 참조하십시오 .

[signal] void QMediaPlayer::tracksChanged()

참고: audioTracks, subtitleTracks 및 videoTracks 속성에 대한알림 신호입니다.

QVideoSink *QMediaPlayer::videoSink() const

QVideoSink 인스턴스를 반환합니다.

setVideoSink()도 참조하십시오 .

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