QtAudio Namespace
QtAudio 네임스페이스에는 오디오 클래스에서 사용하는 열거형이 포함되어 있습니다. 더 보기...
| 헤더: | #include <QtAudio> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
유형
| enum | Error { NoError, OpenError, IOError, UnderrunError, FatalError } |
| enum | State { ActiveState, SuspendedState, StoppedState, IdleState } |
| enum | VolumeScale { LinearVolumeScale, CubicVolumeScale, LogarithmicVolumeScale, DecibelVolumeScale } |
함수
| float | convertVolume(float volume, QtAudio::VolumeScale from, QtAudio::VolumeScale to) |
유형 설명서
enum QtAudio::Error
| 상수 | 값 | 설명 |
|---|---|---|
QtAudio::NoError | 0 | 오류가 발생하지 않았습니다 |
QtAudio::OpenError | 1 | 오디오 장치를 여는 과정에서 오류가 발생했습니다 |
QtAudio::IOError | 2 | 오디오 장치의 읽기/쓰기 중에 오류가 발생했습니다. 이는 예를 들어 외부 오디오 인터페이스가 분리된 경우 등에 발생할 수 있습니다. |
QtAudio::UnderrunError | 3 | 이 값은 Qt-6.11에서 더 이상 사용되지 않게 되었으며, Qt에서 발생하지 않습니다. 대신 QtAudio::State::IdleState 를 확인하십시오. 오디오 데이터가 오디오 장치로 충분히 빠른 속도로 전송되지 않고 있습니다. |
QtAudio::FatalError | 4 | 복구 불가능한 오류가 발생하여, 현재 오디오 장치를 사용할 수 없습니다. |
enum QtAudio::State
| 상수 | 값 | 설명 |
|---|---|---|
QtAudio::ActiveState | 0 | 오디오 데이터가 처리 중입니다. 이 상태는 start()가 호출된 후, 처리할 오디오 데이터가 있는 동안 설정됩니다. |
QtAudio::SuspendedState | 1 | 오디오 스트림이 일시 중지된 상태입니다. suspend()가 호출되거나 다른 스트림이 오디오 장치를 제어하게 될 때 이 상태가 됩니다. 후자의 경우, resume을 호출하면 오디오 장치에 대한 제어권이 이 스트림으로 다시 돌아옵니다. 이는 일반적으로 사용자의 요청이 있을 때만 수행되어야 합니다. |
QtAudio::StoppedState | 2 | 오디오 장치가 닫혀 있으며, 어떠한 오디오 데이터도 처리하고 있지 않습니다. |
QtAudio::IdleState | 3 | 이 상태는 버퍼링 상황으로 인해 오디오 시스템이 일시적으로 유휴 상태임을 나타냅니다. QAudioSink 의 경우, IdleState는 QIODevice 에서 읽을 수 있는 데이터가 충분하지 않음을 의미합니다. QAudioSource 의 경우, QIODevice 에 데이터를 공급하는 링 버퍼가 가득 차면 IdleState 상태가 됩니다. 이 경우, 애플리케이션이 QIODevice 에서 데이터를 읽어 버퍼 공간을 확보할 때까지 오디오 인터페이스에서 도착하는 새로운 오디오 데이터는 모두 버려집니다. |
enum QtAudio::VolumeScale
이 열거형은 다양한 오디오 볼륨 척도를 정의합니다.
| 상수 | 값 | 설명 |
|---|---|---|
QtAudio::LinearVolumeScale | 0 | 선형 스케일입니다. 0.0 (0%)는 무음이고, 1.0 (100%)는 최대 음량입니다. 오디오 볼륨을 갖는 모든 Qt Multimedia 클래스는 선형 스케일을 사용합니다. |
QtAudio::CubicVolumeScale | 1 | 3차 척도. 0.0 (0%)는 무음이고 1.0 (100%)는 최대 볼륨입니다. |
QtAudio::LogarithmicVolumeScale | 2 | 대수 스케일. 0.0 (0%)은 무음이며, 1.0 (100%)은 최대 음량입니다. UI 음량 조절 기능은 일반적으로 대수 스케일을 사용해야 합니다. |
QtAudio::DecibelVolumeScale | 3 | 데시벨(dB, 진폭) 로그 눈금. -200 은 무음이며, 0 은 최대 볼륨입니다. |
QtAudio::convertVolume()도 참조하십시오 .
함수 설명서
float QtAudio::convertVolume(float volume, QtAudio::VolumeScale from, QtAudio::VolumeScale to)
오디오 volume from 를 볼륨 척도 to 로 변환한 후 결과를 반환합니다. .
상황에 따라 오디오 볼륨을 나타내는 데 다양한 척도가 사용됩니다. 오디오 볼륨을 갖는 모든 Qt Multimedia 클래스는 선형 척도를 사용하는데, 그 이유는 스피커의 음량이 선형 척도에 따라 전압을 변조하여 제어되기 때문입니다. 반면, 인간의 귀는 음량을 대수적인 방식으로 인지합니다. 따라서 대부분의 애플리케이션에서 볼륨 제어에 대수 척도를 사용하는 것이 적절합니다. 데시벨(dB) 척도는 본질적으로 로그 척도이며, 일반적으로 음량을 정의하는 데 사용됩니다. 전문 오디오 애플리케이션의 UI 음량 제어에도 주로 사용됩니다. 3제곱 척도는 로그 척도를 계산적으로 효율적으로 근사한 것으로, 낮은 음량 범위에서 더 정밀한 제어가 가능합니다.
다음 예제는 슬라이더 컨트롤의 볼륨 값을 QMediaPlayer 로 전달하기 전에 변환하는 방법을 보여줍니다. 그 결과, 볼륨 슬라이더를 20에서 30으로 올릴 때와 50에서 60으로 올릴 때 지각되는 볼륨 증가량이 동일해집니다:
void applyVolume(int volumeSliderValue)
{
// volumeSliderValue is in the range [0..100]
qreal linearVolume = QtAudio::convertVolume(volumeSliderValue / qreal(100.0),
QtAudio::LogarithmicVolumeScale,
QtAudio::LinearVolumeScale);
player.setVolume(qRound(linearVolume * 100));
}VolumeScale, QAudioSink::setVolume(), QAudioSource::setVolume() 및 QSoundEffect::setVolume()도 참조하십시오 .
© 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.