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 | 오디오 데이터가 오디오 장치에 충분히 빠른 속도로 공급되지 않습니다. |
QtAudio::FatalError | 4 | 복구할 수 없는 오류가 발생하여 현재 오디오 장치를 사용할 수 없습니다. |
enum QtAudio::State
상수 | 값 | 설명 |
---|---|---|
QtAudio::ActiveState | 0 | 오디오 데이터가 처리 중이며, 이 상태는 start()가 호출된 후 오디오 데이터를 처리할 수 있는 동안 설정됩니다. |
QtAudio::SuspendedState | 1 | 오디오 스트림이 일시 중단된 상태입니다. suspend()가 호출된 후 또는 다른 스트림이 오디오 장치를 제어할 때 입력합니다. 후자의 경우 다시 시작을 호출하면 오디오 장치의 제어권이 이 스트림으로 반환됩니다. 이 작업은 일반적으로 사용자의 요청이 있을 때만 수행해야 합니다. |
QtAudio::StoppedState | 2 | 오디오 장치가 닫혀 있으며 오디오 데이터를 처리하지 않습니다. |
QtAudio::IdleState | 3 | 전달된 QIODevice 에는 데이터가 없고 오디오 시스템의 버퍼가 비어 있으며, 이 상태는 start()가 호출된 후 처리할 수 있는 오디오 데이터가 없는 동안 설정됩니다. |
enum QtAudio::VolumeScale
이 열거형은 다양한 오디오 볼륨 스케일을 정의합니다.
Constant | 값 | 설명 |
---|---|---|
QtAudio::LinearVolumeScale | 0 | 선형 스케일. 0.0 (0%)는 무음, 1.0 (100%)는 최대 볼륨입니다. 오디오 볼륨이 있는 모든 Qt Multimedia 클래스는 선형 스케일을 사용합니다. |
QtAudio::CubicVolumeScale | 1 | 큐빅 스케일. 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 클래스는 선형 스케일을 사용하는데, 그 이유는 스피커의 음량이 선형 스케일에서 전압을 변조하여 제어되기 때문입니다. 반면에 사람의 귀는 대수적 방식으로 음량을 인식합니다. 따라서 대부분의 애플리케이션에서는 볼륨 제어에 로그 눈금을 사용하는 것이 적절합니다. 데시벨 스케일은 본질적으로 로그 방식이며 일반적으로 사운드 레벨을 정의하는 데 사용되며, 일반적으로 전문 오디오 애플리케이션의 UI 볼륨 컨트롤에 사용됩니다. 큐빅 스케일은 로그 스케일의 계산적으로 저렴한 근사치이며, 낮은 볼륨 레벨을 더 잘 제어할 수 있습니다.
다음 예는 슬라이더 컨트롤의 볼륨 값을 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()도 참조하세요 .
© 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.