본문으로 건너뛰기

음량 제어 개요

음량 제어 기능은 기기의 음량 설정 지원 수준과 현재 음량 스냅샷을 제공하고, 지원되는 음량 채널을 직접 설정하거나 단계별로 조절하는 명령을 제공합니다.

기능 개요

AI를 활용해 구현

AI로 구현

AI로 이 워크플로 구현

공식 “AIBuds 음량 관리” 스킬을 사용해 앱에 맞게 구현하세요.

https://docs-aibuds.github.io/ko/skills/manage-aibuds-volume을 읽고 지침을 따르세요. 이 스킬로 “AIBuds 음량 관리”을 이 iOS 프로젝트에 구현하고 검증하세요.
공식 스킬 보기

시작하기

  1. 기기 연결 - 기기가 연결되어 사용할 수 있을 때까지 기다립니다.
  2. 프로토콜 확인 - DeviceVolumeControlAPI 지원 여부를 확인합니다.
  3. 지원 수준 확인 - 제어 UI를 표시하기 전에 volumeSetCapability를 확인합니다.
  4. 현재 값 확인 - 선택적 volumesInfo 스냅샷을 읽습니다.
  5. 지원 채널 설정 - DeviceVolumeType 값과 0부터 100까지의 음량을 사용합니다.

핵심 개념

지원 수준

VolumeSetCapability.none, .common 또는 .advanced를 보고합니다.

  • .none은 SDK를 통한 음량 설정을 지원하지 않습니다.
  • .common은 시스템 안내음, 미디어 및 통화 음량 제어를 지원합니다.
  • .advanced는 현재 스냅샷에서 로컬 재생 음량도 제공하지만, 현재 공개 SDK에는 로컬 재생 음량 설정 API가 없습니다.

음량 채널

DeviceVolumeType에는 현재 시스템 안내음, 미디어 재생 및 통화 음량이 포함됩니다. 각 setter에는 0부터 100까지의 값을 전달합니다.

프로토콜 참고

음량 제어 기능은 DeviceVolumeControlAPI를 통해 사용합니다.

Swift
guard let device = device as? DeviceVolumeControlAPI else {
    print("Device does not support DeviceVolumeControlAPI")
    return
}

권장 사항

  1. 지원 수준 확인: .none이면 설정 UI를 표시하지 마세요.
  2. 값 검증: 직접 설정하는 값은 0부터 100 사이로 제한하세요.
  3. 연속 입력 debounce: 슬라이더의 모든 중간 이벤트마다 명령을 보내지 마세요.
  4. 변경 관찰: UI에서 기기 측 변경을 반영해야 하면 didVolumesChanged를 사용하세요.

참고

  • volumesInfo는 선택적이며 개별 음량 값도 제공되지 않을 수 있습니다.
  • 현재 SDK는 localPlaybackVolume을 읽을 수 있지만 별도로 설정할 수는 없습니다. 공개 설정 API가 추가된 뒤 해당 제어 UI를 제공하세요.
  • 스냅샷을 읽은 뒤에도 하드웨어 버튼이나 다른 클라이언트가 기기 음량을 변경할 수 있습니다.