음량 제어 개요
음량 제어 기능은 기기의 음량 설정 지원 수준과 현재 음량 스냅샷을 제공하고, 지원되는 음량 채널을 직접 설정하거나 단계별로 조절하는 명령을 제공합니다.
기능 개요
음량 지원 수준 및 현재 값 확인
기기의 음량 설정 지원 수준과 현재 음량 스냅샷 조회
음량 설정
지원되는 기기 음량 채널 설정 또는 단계 조절
AI를 활용해 구현
AI로 구현
AI로 이 워크플로 구현
공식 “AIBuds 음량 관리” 스킬을 사용해 앱에 맞게 구현하세요.
https://docs-aibuds.github.io/ko/skills/manage-aibuds-volume을 읽고 지침을 따르세요. 이 스킬로 “AIBuds 음량 관리”을 이 iOS 프로젝트에 구현하고 검증하세요.시작하기
- 기기 연결 - 기기가 연결되어 사용할 수 있을 때까지 기다립니다.
- 프로토콜 확인 -
DeviceVolumeControlAPI지원 여부를 확인합니다. - 지원 수준 확인 - 제어 UI를 표시하기 전에
volumeSetCapability를 확인합니다. - 현재 값 확인 - 선택적
volumesInfo스냅샷을 읽습니다. - 지원 채널 설정 -
DeviceVolumeType값과 0부터 100까지의 음량을 사용합니다.
핵심 개념
지원 수준
VolumeSetCapability는 .none, .common 또는 .advanced를 보고합니다.
.none은 SDK를 통한 음량 설정을 지원하지 않습니다..common은 시스템 안내음, 미디어 및 통화 음량 제어를 지원합니다..advanced는 현재 스냅샷에서 로컬 재생 음량도 제공하지만, 현재 공개 SDK에는 로컬 재생 음량 설정 API가 없습니다.
음량 채널
DeviceVolumeType에는 현재 시스템 안내음, 미디어 재생 및 통화 음량이 포함됩니다. 각 setter에는 0부터 100까지의 값을 전달합니다.
프로토콜 참고
음량 제어 기능은 DeviceVolumeControlAPI를 통해 사용합니다.
- Swift
- Objective-C
guard let device = device as? DeviceVolumeControlAPI else {
print("Device does not support DeviceVolumeControlAPI")
return
}id<AIBudsDeviceVolumeControlAPI> device = (id<AIBudsDeviceVolumeControlAPI>)self.device;
if (![device conformsToProtocol:@protocol(AIBudsDeviceVolumeControlAPI)]) {
NSLog(@"Device does not support AIBudsDeviceVolumeControlAPI");
return;
}권장 사항
- 지원 수준 확인:
.none이면 설정 UI를 표시하지 마세요. - 값 검증: 직접 설정하는 값은 0부터 100 사이로 제한하세요.
- 연속 입력 debounce: 슬라이더의 모든 중간 이벤트마다 명령을 보내지 마세요.
- 변경 관찰: UI에서 기기 측 변경을 반영해야 하면
didVolumesChanged를 사용하세요.
참고
volumesInfo는 선택적이며 개별 음량 값도 제공되지 않을 수 있습니다.- 현재 SDK는
localPlaybackVolume을 읽을 수 있지만 별도로 설정할 수는 없습니다. 공개 설정 API가 추가된 뒤 해당 제어 UI를 제공하세요. - 스냅샷을 읽은 뒤에도 하드웨어 버튼이나 다른 클라이언트가 기기 음량을 변경할 수 있습니다.