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::UnknownPosition | 0 | 알 수 없는 위치 |
QAudioFormat::FrontLeft | 1 | |
QAudioFormat::FrontRight | 2 | |
QAudioFormat::FrontCenter | 3 | |
QAudioFormat::LFE | 4 | 저주파 효과 채널(서브우퍼) |
QAudioFormat::BackLeft | 5 | |
QAudioFormat::BackRight | 6 | |
QAudioFormat::FrontLeftOfCenter | 7 | |
QAudioFormat::FrontRightOfCenter | 8 | |
QAudioFormat::BackCenter | 9 | |
QAudioFormat::LFE2 | 19 | |
QAudioFormat::SideLeft | 10 | |
QAudioFormat::SideRight | 11 | |
QAudioFormat::TopFrontLeft | 13 | |
QAudioFormat::TopFrontRight | 15 | |
QAudioFormat::TopFrontCenter | 14 | |
QAudioFormat::TopCenter | 12 | |
QAudioFormat::TopBackLeft | 16 | |
QAudioFormat::TopBackRight | 18 | |
QAudioFormat::TopSideLeft | 20 | |
QAudioFormat::TopSideRight | 21 | |
QAudioFormat::TopBackCenter | 17 | |
QAudioFormat::BottomFrontCenter | 22 | |
QAudioFormat::BottomFrontLeft | 23 | |
QAudioFormat::BottomFrontRight | 24 |
enum QAudioFormat::ChannelConfig
이 열거형은 표준화된 오디오 채널 레이아웃을 설명합니다. 가장 일반적인 구성은 모노, 스테레오, 2.1(스테레오 + 저주파), 5.1 서라운드 및 7.1 서라운드 구성입니다.
상수 | 값 | 설명 |
---|---|---|
QAudioFormat::ChannelConfigUnknown | 0 | 채널 구성을 알 수 없습니다. |
QAudioFormat::ChannelConfigMono | QtPrivate::channelConfig(FrontCenter) | 오디오에는 중앙 채널이 하나 있습니다. |
QAudioFormat::ChannelConfigStereo | QtPrivate::channelConfig(FrontLeft, FrontRight) | 오디오에 왼쪽과 오른쪽의 두 채널이 있습니다. |
QAudioFormat::ChannelConfig2Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, LFE) | 오디오에 왼쪽, 오른쪽 및 LFE(저주파 효과)의 세 채널이 있습니다. |
QAudioFormat::ChannelConfig3Dot0 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter) | 오디오에 왼쪽, 오른쪽 및 가운데의 세 채널이 있습니다. |
QAudioFormat::ChannelConfig3Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE) | 오디오에 왼쪽, 오른쪽, 가운데 및 LFE(저주파 효과)의 4개 채널이 있습니다. |
QAudioFormat::ChannelConfigSurround5Dot0 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight) | 오디오에는 왼쪽, 오른쪽, 가운데, BackLeft, BackRight 등 5개 채널이 있습니다. |
QAudioFormat::ChannelConfigSurround5Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight) | 오디오에는 왼쪽, 오른쪽, 가운데, LFE, BackLeft, BackRight 등 6개 채널이 있습니다. |
QAudioFormat::ChannelConfigSurround7Dot0 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight, SideLeft, SideRight) | 오디오에는 왼쪽, 오른쪽, 가운데, BackLeft, BackRight, SideLeft, SideRight 등 7개 채널이 있습니다. |
QAudioFormat::ChannelConfigSurround7Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight, SideLeft, SideRight) | 오디오에는 왼쪽, 오른쪽, 중앙, LFE, BackLeft, BackRight, SideLeft, SideRight 등 8개의 채널이 있습니다. |
enum QAudioFormat::SampleFormat
Qt는 항상 호스트 플랫폼의 엔디안으로 샘플을 예상하고 사용합니다. 외부 소스에서 오디오 데이터를 직접 처리할 때는 QAudioSink 또는 QAudioBuffer 에 쓰기 전에 올바른 엔디안으로 변환해야 합니다.
Constant | 값 | 설명 |
---|---|---|
QAudioFormat::Unknown | 0 | 설정되지 않음 |
QAudioFormat::UInt8 | 1 | 샘플은 8비트 부호 없는 정수입니다. |
QAudioFormat::Int16 | 2 | 샘플은 16비트 부호 있는 정수입니다. |
QAudioFormat::Int32 | 3 | 샘플은 32비트 부호 있는 정수입니다. |
QAudioFormat::Float | 4 | 샘플은 플로트입니다. |
멤버 함수 문서
[noexcept default]
QAudioFormat::QAudioFormat()
새 오디오 포맷을 생성합니다.
값은 다음과 같이 초기화됩니다:
- sampleRate() = 0
- channelCount() = 0
- sampleFormat() = QAudioFormat::Unknown
[noexcept default]
QAudioFormat::QAudioFormat(const QAudioFormat &other)
other 을 사용하여 새 오디오 형식을 구성합니다.
[noexcept default]
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
현재 샘플 속도를 헤르츠 단위로 반환합니다.
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
을 반환합니다.
© 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.