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)오디오에는 왼쪽, 오른쪽, 중앙, LFE, BackLeft, BackRight, SideLeft, SideRight 등 8개의 채널이 있습니다.

enum QAudioFormat::SampleFormat

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

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

멤버 함수 문서

[noexcept default] QAudioFormat::QAudioFormat()

새 오디오 포맷을 생성합니다.

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

[noexcept default] QAudioFormat::QAudioFormat(const QAudioFormat &other)

other 을 사용하여 새 오디오 형식을 구성합니다.

[noexcept default] QAudioFormat::~QAudioFormat()

이 오디오 형식을 삭제합니다.

qint32 QAudioFormat::bytesForDuration(qint64 microseconds) const

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

이 형식이 유효하지 않으면 0을 반환합니다.

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

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 를 이 형식으로 표현하는 데 필요한 프레임 수를 반환합니다.

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

[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

현재 샘플 속도를 헤르츠 단위로 반환합니다.

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)

오디오 형식 ab 과 같지 않으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

오디오 형식 ab 과 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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