मुख्य कंटेंट तक स्किप करें

वॉल्यूम कंट्रोल का परिचय

Volume Control डिवाइस की volume-setting capability, current volume snapshot और supported volume channels को set या step करने के commands देता है।

उपलब्ध सुविधाएँ

AI की सहायता से लागू करें

AI से बनाएँ

इस वर्कफ़्लो को AI से लागू करें

आधिकारिक “AIBuds वॉल्यूम प्रबंधित करें” स्किल से वर्कफ़्लो को अपने ऐप के अनुसार लागू करें।

https://docs-aibuds.github.io/hi/skills/manage-aibuds-volume को पढ़ें और निर्देशों का पालन करें। इस स्किल से “AIBuds वॉल्यूम प्रबंधित करें” को इस iOS प्रोजेक्ट में लागू करें और परिणाम सत्यापित करें।
आधिकारिक स्किल देखें

शुरुआत करें

  1. डिवाइस कनेक्ट करें - डिवाइस के connected और ready होने की प्रतीक्षा करें।
  2. Protocol conformance जाँचें - DeviceVolumeControlAPI support की पुष्टि करें।
  3. Capability पढ़ें - Controls दिखाने से पहले volumeSetCapability उपयोग करें।
  4. Current values पढ़ें - Optional volumesInfo snapshot उपयोग करें।
  5. Supported channel set करें - DeviceVolumeType value और 0 से 100 तक level उपयोग करें।

मुख्य अवधारणाएँ

क्षमता

VolumeSetCapability .none, .common या .advanced report करता है।

  • .none में SDK volume setting उपलब्ध नहीं।
  • .common system-prompt, media और in-call volume controls support करता है।
  • .advanced current snapshot में local-playback volume भी देता है, लेकिन वर्तमान public SDK local-playback write API नहीं देता।

वॉल्यूम चैनल

DeviceVolumeType में अभी system prompt, media playback और in-call volume शामिल हैं। हर setter 0 से 100 तक level स्वीकार करता है।

प्रोटोकॉल संदर्भ

Volume Control DeviceVolumeControlAPI से मिलता है:

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

सर्वोत्तम अभ्यास

  1. Capability जाँचें: .none के लिए write controls न दिखाएँ।
  2. Levels validate करें: Explicit values 0 से 100 के बीच रखें।
  3. Continuous controls debounce करें: हर intermediate slider event पर command न भेजें।
  4. Changes देखें: UI को device-side updates track करने हों तो didVolumesChanged उपयोग करें।

ध्यान दें

  • volumesInfo optional है और individual values भी unavailable हो सकती हैं।
  • वर्तमान SDK localPlaybackVolume पढ़ सकता है, लेकिन इसे अलग से set नहीं कर सकता। Public write API आने के बाद ही यह control जोड़ें।
  • Snapshot पढ़ने के बाद hardware controls या दूसरे clients device volume बदल सकते हैं।