2015-04-04 7 views
16

AudioManager में setParameters विधि है जो स्ट्रिंग प्रस्तुति ("पैरामीटर_नाम = पैरामीटर_वैल्यू") में कुंजी-मान जोड़ी स्वीकार करती है।
आंतरिक रूप से, यह देशी AudioSystem.setParameters पर कॉल करता है।
पैरामीटर मान प्राप्त करने का एकमात्र तरीका यह है कि यदि आप AudioManager.getParameters विधि को कॉल करके अपना नाम जानते हैं, जो 'ऑडियो सिस्टम' में संबंधित मूल विधि को कॉल करता है।एंड्रॉइड - ऑडियोमैनेजर/ऑडियोसिस्टम पैरामीटर की सूची कैसे प्राप्त करें

समर्थित पैरामीटर की सूची प्राप्त करने के लिए कोई तरीका है (प्रतिबिंब या अन्य तकनीकों का उपयोग करके) (निश्चित रूप से परिणाम उस डिवाइस पर निर्भर होगा जिसे इसे प्लेटफ़ॉर्म-विशिष्ट के रूप में कहा जाता है)?

उत्तर

6

संक्षिप्त जांच के बाद मैं अनुमान लगा सकता हूं कि ऑडियो डिवाइस पैरामीटर के लिए सभी उपलब्ध कुंजी को गिनने का कोई विश्वसनीय तरीका नहीं है। एंड्रॉइड हेडर सामान्य पैरामीटर के छोटे सेट को परिभाषित करते हैं, जो शायद सभी उपकरणों द्वारा समर्थित होना चाहिए। आप वास्तविक कुंजी here देख सकते हैं (AUDIO_PARAMETER_* मैक्रोज़ के लिए देखें)। और interface वास्तविक डिवाइस कार्यान्वयन struct audio_hw_device (जिसे विक्रेता द्वारा कार्यान्वित किया गया है) में केवल get_parameters()/set_parameters() और कोई गणना प्रविष्टि बिंदु नहीं है। इसलिए, समर्थित पैरामीटर कुंजी की पूरी सूची का अनुरोध करने का कोई तरीका नहीं है।

यह शीर्ष करने के लिए बंद:

  1. हम पूर्वनिर्धारित, आम मानकों
  2. के छोटे सेट विक्रेता विशिष्ट मानकों से निपटने के लिए है - हम विक्रेता दस्तावेज़ या के लिए हार्डवेयर से संबंधित स्रोतों से अतिरिक्त कुंजी की सूची प्राप्त करना चाहिए विशेष उपकरण

कोई भी सुधार का स्वागत है।

संबंधित मुद्दे