वॉल्यूम कंट्रोल का परिचय
Volume Control डिवाइस की volume-setting capability, current volume snapshot और supported volume channels को set या step करने के commands देता है।
उपलब्ध सुविधाएँ
वॉल्यूम क्षमता और स्तर देखें
डिवाइस की volume-setting capability और current volume snapshot पढ़ें
वॉल्यूम सेट करें
समर्थित डिवाइस वॉल्यूम channels को सेट करें या एक step बदलें
AI की सहायता से लागू करें
AI से बनाएँ
इस वर्कफ़्लो को AI से लागू करें
आधिकारिक “AIBuds वॉल्यूम प्रबंधित करें” स्किल से वर्कफ़्लो को अपने ऐप के अनुसार लागू करें।
https://docs-aibuds.github.io/hi/skills/manage-aibuds-volume को पढ़ें और निर्देशों का पालन करें। इस स्किल से “AIBuds वॉल्यूम प्रबंधित करें” को इस iOS प्रोजेक्ट में लागू करें और परिणाम सत्यापित करें।शुरुआत करें
- डिवाइस कनेक्ट करें - डिवाइस के connected और ready होने की प्रतीक्षा करें।
- Protocol conformance जाँचें -
DeviceVolumeControlAPIsupport की पुष्टि करें। - Capability पढ़ें - Controls दिखाने से पहले
volumeSetCapabilityउपयोग करें। - Current values पढ़ें - Optional
volumesInfosnapshot उपयोग करें। - Supported channel set करें -
DeviceVolumeTypevalue और 0 से 100 तक level उपयोग करें।
मुख्य अवधारणाएँ
क्षमता
VolumeSetCapability .none, .common या .advanced report करता है।
.noneमें SDK volume setting उपलब्ध नहीं।.commonsystem-prompt, media और in-call volume controls support करता है।.advancedcurrent 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
- 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;
}सर्वोत्तम अभ्यास
- Capability जाँचें:
.noneके लिए write controls न दिखाएँ। - Levels validate करें: Explicit values 0 से 100 के बीच रखें।
- Continuous controls debounce करें: हर intermediate slider event पर command न भेजें।
- Changes देखें: UI को device-side updates track करने हों तो
didVolumesChangedउपयोग करें।
ध्यान दें
volumesInfooptional है और individual values भी unavailable हो सकती हैं।- वर्तमान SDK
localPlaybackVolumeपढ़ सकता है, लेकिन इसे अलग से set नहीं कर सकता। Public write API आने के बाद ही यह control जोड़ें। - Snapshot पढ़ने के बाद hardware controls या दूसरे clients device volume बदल सकते हैं।