メインコンテンツまでスキップ

音量コントロール概要

音量コントロールは、デバイスの音量設定 Capability、現在の音量情報、対応チャンネルの音量を設定または段階的に変更するコマンドを提供します。

機能概要

AI を活用して実装

AI で実装

AI でこのワークフローを実装

公式の「AIBuds 音量の管理」スキルを使い、アプリに合わせて実装します。

https://docs-aibuds.github.io/ja/skills/manage-aibuds-volume を読み、その指示に従ってください。このスキルで「AIBuds 音量の管理」をこの iOS プロジェクトに実装し、検証してください。
公式スキルを見る

はじめに

  1. デバイスへ接続 - デバイスが接続され、使用可能になるまで待ちます。
  2. プロトコル準拠を確認 - DeviceVolumeControlAPI への対応を確認します。
  3. Capability を取得 - 操作 UI を表示する前に volumeSetCapability を確認します。
  4. 現在値を取得 - オプションの volumesInfo スナップショットを使用します。
  5. 対応チャンネルを設定 - DeviceVolumeType の値と 0〜100 の音量を指定します。

主要な概念

対応機能(Capability)

VolumeSetCapability.none.common.advanced のいずれかを示します。

  • .none では SDK から音量を設定できません。
  • .common はシステムプロンプト、メディア、通話中の音量操作に対応します。
  • .advanced では現在値にローカル再生音量も含まれますが、現在の公開 SDK にはローカル再生音量を設定する API がありません。

音量チャンネル

DeviceVolumeType には、現在システムプロンプト、メディア再生、通話中の音量が含まれます。各設定 API には 0〜100 の音量を指定します。

プロトコルリファレンス

音量コントロールには DeviceVolumeControlAPI からアクセスします。

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

ベストプラクティス

  1. Capability を確認.none の場合は設定 UI を表示しないでください。
  2. 音量を検証:指定値を 0〜100 の範囲に収めます。
  3. 連続操作を間引く:スライダーの中間値ごとにコマンドを送信しないようにします。
  4. 変更を監視:デバイス側の更新に UI を追従させる場合は didVolumesChanged を使用します。

注意事項

  • volumesInfo はオプションであり、個別の値も取得できない場合があります。
  • 現在の SDK は localPlaybackVolume を読み取れますが、個別に設定できません。公開設定 API が追加されてから操作 UI を実装してください。
  • スナップショット取得後も、ハードウェア操作や別のクライアントによってデバイス音量が変わる場合があります。