이 페이지에서

QAudioFormat Class

QAudioFormat 클래스는 오디오 스트림 매개변수 정보를 저장합니다. 더 보기...

헤더: #include <QAudioFormat>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia

공개 유형

enum AudioChannelPosition { UnknownPosition, FrontLeft, FrontRight, FrontCenter, LFE, …, BottomFrontRight }
enum ChannelConfig { ChannelConfigUnknown, ChannelConfigMono, ChannelConfigStereo, ChannelConfig2Dot1, ChannelConfig3Dot0, …, ChannelConfigSurround7Dot1 }
enum SampleFormat { Unknown, UInt8, Int16, Int32, Float }

공개 함수

QAudioFormat()
QAudioFormat(const QAudioFormat &other)
~QAudioFormat()
qint32 bytesForDuration(qint64 microseconds) const
qint32 bytesForFrames(qint32 frameCount) const
int bytesPerFrame() const
int bytesPerSample() const
QAudioFormat::ChannelConfig channelConfig() const
int channelCount() const
int channelOffset(QAudioFormat::AudioChannelPosition channel) const
qint64 durationForBytes(qint32 bytes) const
qint64 durationForFrames(qint32 frameCount) const
qint32 framesForBytes(qint32 byteCount) const
qint32 framesForDuration(qint64 microseconds) const
bool isValid() const
float normalizedSampleValue(const void *sample) const
QAudioFormat::SampleFormat sampleFormat() const
int sampleRate() const
void setChannelConfig(QAudioFormat::ChannelConfig config)
void setChannelCount(int channels)
void setSampleFormat(QAudioFormat::SampleFormat format)
void setSampleRate(int samplerate)

정적 공용 멤버

QAudioFormat::ChannelConfig channelConfig(Args... channels)
QAudioFormat::ChannelConfig defaultChannelConfigForChannelCount(int channelCount)
bool operator!=(const QAudioFormat &a, const QAudioFormat &b)
bool operator==(const QAudioFormat &a, const QAudioFormat &b)

상세 설명

오디오 형식은 원시 오디오 스트림 내의 데이터가 어떻게 배열되는지를 지정합니다. 예를 들어, 스트림을 어떻게 해석해야 하는지를 나타냅니다.

QAudioFormat에는 오디오 샘플 데이터가 어떻게 구성되는지를 지정하는 매개변수가 포함되어 있습니다. 여기에는 주파수, 채널 수, 샘플 형식이 포함됩니다. 다음 표에서는 이에 대해 더 자세히 설명합니다.

매개변수설명
샘플 레이트초당 오디오 데이터 샘플 수(헤르츠).
채널 수오디오 채널 수(일반적으로 모노의 경우 1개, 스테레오의 경우 2개). 이는 스트림에서 하나의 프레임을 구성하는 연속된 샘플의 수입니다.
샘플 형식스트림 내 오디오 샘플의 형식

이 클래스는 QAudioSource 또는 QAudioSink 와 함께 사용하여 읽거나 쓰는 오디오 스트림의 매개변수를 지정하거나, 메모리 내의 샘플을 다룰 때 QAudioBuffer 와 함께 사용됩니다.

QAudioDevice 의 함수를 통해 사용 중인 오디오 장치와 호환되는 오디오 형식을 확인할 수 있습니다. 또한 이 클래스를 사용하면 장치에 대해 사용 가능한 매개변수 값을 조회할 수 있으므로, 매개변수를 직접 설정할 수 있습니다. 자세한 내용은 QAudioDevice 클래스 설명을 참조하십시오. 재생하거나 녹음하려는 오디오 스트림의 형식을 알고 있어야 합니다.

모든 채널의 샘플은 인터리브 처리됩니다. 동일한 시점의 각 채널에 해당하는 하나의 샘플은 Qt Multimedia (및 기타 곳)에서 ‘프레임’이라고 합니다.

멤버 유형 설명서

enum QAudioFormat::AudioChannelPosition

가능한 오디오 채널 위치를 설명합니다. 이는 22.2 서라운드 사운드 구성에서 사용되는 표준 정의를 따릅니다.

상수값설명
QAudioFormat::UnknownPosition0알 수 없는 위치
QAudioFormat::FrontLeft1 
QAudioFormat::FrontRight2 
QAudioFormat::FrontCenter3 
QAudioFormat::LFE4저주파 효과 채널 (서브우퍼)
QAudioFormat::BackLeft5 
QAudioFormat::BackRight6 
QAudioFormat::FrontLeftOfCenter7 
QAudioFormat::FrontRightOfCenter8 
QAudioFormat::BackCenter9 
QAudioFormat::LFE219 
QAudioFormat::SideLeft10 
QAudioFormat::SideRight11 
QAudioFormat::TopFrontLeft13 
QAudioFormat::TopFrontRight15 
QAudioFormat::TopFrontCenter14 
QAudioFormat::TopCenter12 
QAudioFormat::TopBackLeft16 
QAudioFormat::TopBackRight18 
QAudioFormat::TopSideLeft20 
QAudioFormat::TopSideRight21 
QAudioFormat::TopBackCenter17 
QAudioFormat::BottomFrontCenter22 
QAudioFormat::BottomFrontLeft23 
QAudioFormat::BottomFrontRight24 

enum QAudioFormat::ChannelConfig

이 열거형은 표준화된 오디오 채널 구성을 나타냅니다. 가장 일반적인 구성으로는 모노, 스테레오, 2.1(스테레오에 저주파 추가), 5.1 서라운드, 7.1 서라운드 등이 있습니다.

상수값설명
QAudioFormat::ChannelConfigUnknown0채널 구성이 알려지지 않았습니다.
QAudioFormat::ChannelConfigMonoQtPrivate::channelConfig(FrontCenter)오디오에 센터 채널이 하나 있습니다.
QAudioFormat::ChannelConfigStereoQtPrivate::channelConfig(FrontLeft, FrontRight)오디오에는 왼쪽 및 오른쪽, 총 두 개의 채널이 있습니다.
QAudioFormat::ChannelConfig2Dot1QtPrivate::channelConfig(FrontLeft, FrontRight, LFE)오디오에는 왼쪽, 오른쪽, LFE(저주파 효과)의 세 개의 채널이 있습니다.
QAudioFormat::ChannelConfig3Dot0QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter)오디오에는 왼쪽, 오른쪽, 중앙의 세 개의 채널이 있습니다.
QAudioFormat::ChannelConfig3Dot1QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE)오디오에는 왼쪽, 오른쪽, 중앙 및 LFE(저주파 효과)의 4개 채널이 있습니다.
QAudioFormat::ChannelConfigSurround5Dot0QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight)오디오에는 왼쪽, 오른쪽, 중앙, 서라운드 좌( BackLeft), 서라운드 우( BackRight)의 5개 채널이 있습니다.
QAudioFormat::ChannelConfigSurround5Dot1QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight)오디오는 왼쪽, 오른쪽, 중앙, LFE, BackLeft, BackRight 의 6개 채널로 구성됩니다.
QAudioFormat::ChannelConfigSurround7Dot0QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight, SideLeft, SideRight)오디오는 왼쪽, 오른쪽, 중앙, BackLeft, BackRight, SideLeft 및 SideRight 의 7개 채널로 구성됩니다.
QAudioFormat::ChannelConfigSurround7Dot1QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight, SideLeft, SideRight)오디오는 8개 채널(좌, 우, 센터, LFE, BackLeft, BackRight, SideLeft, SideRight)로 구성되어 있습니다.

enum QAudioFormat::SampleFormat

Qt는 항상 호스트 플랫폼의 엔디안 형식으로 된 샘플을 기대하며 이를 사용합니다. 외부 소스의 오디오 데이터를 직접 처리할 때는, 해당 데이터를 QAudioSink 또는 QAudioBuffer 에 기록하기 전에 올바른 엔디안 형식으로 변환해야 합니다.

상수값설명
QAudioFormat::Unknown0설정되지 않음
QAudioFormat::UInt81샘플은 8비트 부호 없는 정수입니다.
QAudioFormat::Int162샘플은 16비트 부호 있는 정수입니다
QAudioFormat::Int323샘플은 32비트 부호 있는 정수입니다
QAudioFormat::Float4샘플은 부동 소수점 수입니다

멤버 함수 문서

[implicit] QAudioFormat::QAudioFormat()

새로운 오디오 형식을 생성합니다.

값은 다음과 같이 초기화됩니다:

[implicit] QAudioFormat::QAudioFormat(const QAudioFormat &other)

other 를 사용하여 새로운 오디오 형식을 생성합니다.

[noexcept implicit] QAudioFormat::~QAudioFormat()

이 오디오 형식을 삭제하십시오.

qint32 QAudioFormat::bytesForDuration(qint64 microseconds) const

microseconds 에 대해 이 오디오 형식에 필요한 바이트 수를 반환합니다.

이 형식이 유효하지 않은 경우 0을 반환합니다.

microseconds 가 sampleRate()의 정확한 분수 배수가 아닌 경우, 약간의 반올림이 발생할 수 있습니다.

durationForBytes()도 참조하십시오 .

qint32 QAudioFormat::bytesForFrames(qint32 frameCount) const

이 형식의 ‘ frameCount ’ 프레임에 필요한 바이트 수를 반환합니다.

이 형식이 유효하지 않은 경우 0을 반환합니다.

bytesForDuration()도 참조하십시오 .

[constexpr] int QAudioFormat::bytesPerFrame() const

이 형식으로 하나의 프레임(각 채널의 샘플 하나)을 표현하는 데 필요한 바이트 수를 반환합니다.

이 형식이 유효하지 않은 경우 0을 반환합니다.

[constexpr noexcept] int QAudioFormat::bytesPerSample() const

이 형식으로 하나의 샘플을 표현하는 데 필요한 바이트 수를 반환합니다.

이 형식이 유효하지 않은 경우 0을 반환합니다.

[constexpr noexcept] QAudioFormat::ChannelConfig QAudioFormat::channelConfig() const

현재 채널 구성을 반환합니다.

setChannelConfig()도 참조하십시오 .

[static constexpr] template <typename... Args> QAudioFormat::ChannelConfig QAudioFormat::channelConfig(Args... channels)

지정된 ` channels`에 대한 현재 채널 구성을 반환합니다.

[constexpr noexcept] int QAudioFormat::channelCount() const

현재 채널 수 값을 반환합니다.

setChannelCount()도 참조하십시오 .

[noexcept] int QAudioFormat::channelOffset(QAudioFormat::AudioChannelPosition channel) const

지정된 형식에 대해 오디오 프레임 내의 특정 오디오 channel 의 위치를 반환합니다. 해당 형식에서 해당 채널이 존재하지 않거나 채널 구성이 알려지지 않은 경우 -1을 반환합니다.

[static] QAudioFormat::ChannelConfig QAudioFormat::defaultChannelConfigForChannelCount(int channelCount)

channelCount 에 대한 기본 채널 구성을 반환합니다.

기본 구성은 최대 8개 채널까지 정의되며, 표준 모노, 스테레오 및 서라운드 구성에 해당합니다. 채널 수가 이보다 많은 경우, 이 함수는 QAudioFormat::AudioChannelPosition 에 정의된 첫 번째 channelCount 오디오 채널을 사용합니다.

qint64 QAudioFormat::durationForBytes(qint32 bytes) const

이 형식에서 bytes 이 나타내는 마이크로초 수를 반환합니다.

이 형식이 유효하지 않은 경우 0을 반환합니다.

bytes 가 프레임당 바이트 수의 정확한 배수가 아닌 경우 약간의 반올림이 발생할 수 있습니다.

bytesForDuration()도 참조하십시오 .

qint64 QAudioFormat::durationForFrames(qint32 frameCount) const

frameCount 프레임에 해당하는 마이크로초 수를 이 형식으로 반환합니다.

qint32 QAudioFormat::framesForBytes(qint32 byteCount) const

이 형식으로 byteCount 가 나타내는 프레임 수를 반환합니다.

byteCount 가 프레임당 바이트 수의 정확한 배수가 아닌 경우, 약간의 반올림이 발생할 수 있습니다.

각 프레임은 채널당 하나의 샘플을 가집니다.

framesForDuration()도 참조하십시오 .

qint32 QAudioFormat::framesForDuration(qint64 microseconds) const

이 형식으로 ` microseconds `를 표현하는 데 필요한 프레임 수를 반환합니다.

microseconds 가 sampleRate()의 정확한 분수가 아닐 경우, 약간의 반올림이 발생할 수 있습니다.

[constexpr noexcept] bool QAudioFormat::isValid() const

모든 매개변수가 유효한 경우 ` true `를 반환합니다.

float QAudioFormat::normalizedSampleValue(const void *sample) const

sample 값을 -1과 1 사이의 숫자로 정규화합니다. 이 메서드는 QaudioFormat에 따라 다릅니다.

[constexpr noexcept] QAudioFormat::SampleFormat QAudioFormat::sampleFormat() const

현재 샘플 형식을 반환합니다.

setSampleFormat()도 참조하십시오 .

[constexpr noexcept] int QAudioFormat::sampleRate() const

현재 샘플 레이트를 헤르츠(Hz) 단위로 반환합니다.

setSampleRate()도 참조하십시오 .

[noexcept] void QAudioFormat::setChannelConfig(QAudioFormat::ChannelConfig config)

채널 구성을 ‘ config ’로 설정합니다.

오디오 형식의 채널 구성을 표준 오디오 채널 구성 중 하나로 설정합니다.

참고: 이경우 채널 수도 변경됩니다.

channelConfig()도 참조하십시오 .

[constexpr noexcept] void QAudioFormat::setChannelCount(int channels)

채널 수를 channels 로 설정합니다. 이 값을 설정하면 채널 구성도 ChannelConfigUnknown 로 설정됩니다.

channelCount()도 참조하십시오 .

[constexpr noexcept] void QAudioFormat::setSampleFormat(QAudioFormat::SampleFormat format)

샘플 형식을 ‘ format ’로 설정합니다.

sampleFormat() 및 QAudioFormat::SampleFormat도 참조하십시오 .

[constexpr noexcept] void QAudioFormat::setSampleRate(int samplerate)

샘플 레이트를 헤르츠( samplerate ) 단위로 설정합니다.

sampleRate()도 참조하십시오 .

관련 비회원 함수

bool operator!=(const QAudioFormat &a, const QAudioFormat &b)

오디오 형식 ` a `이 ` b`과 다를 경우 ` true `을 반환하고, 그렇지 않은 경우 ` false`을 반환합니다.

bool operator==(const QAudioFormat &a, const QAudioFormat &b)

오디오 형식 ` a `이 ` b`과 일치하면 ` true `을 반환하고, 그렇지 않으면 ` 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.