डिवाइस को खोलने के बिना मैं ALSA डिवाइस की क्षमताओं को कैसे ढूंढूं? समस्या यह है कि, मुझे परीक्षण कार्यों का उपयोग करने के लिए snd_pcm_open()
फ़ंक्शन पर पैरामीटर की आपूर्ति करने की आवश्यकता है जो मुझे मूर्खतापूर्ण है। क्यों पूछें कि क्या यह एक प्लेबैक या रिकॉर्ड डिवाइस है यदि मुझे इसे पहले खुले फ़ंक्शन में बताना है?डिवाइस को खोलने के बिना लिनक्स में ALSA ऑडियो डिवाइस क्षमताओं को प्रोग्रामेटिक रूप से कैसे ढूंढें
उदाहरण के तौर पर, मैं सभी प्लेबैक डिवाइसों को सूचीबद्ध करना चाहता हूं, लेकिन एकमात्र तरीका जिसे मैं सोच सकता हूं, मुझे हर डिवाइस को खोलने की कोशिश कर रहा है (snd_device_name_hint()
के साथ) और उन्हें प्लेबैक मोड में खोलने का प्रयास करें और यदि मैं खोलने का प्रबंधन करता हूं , सब कुछ ठीक है।
समस्या सभी संभावित भिन्नताओं (नमूना दर, चैनल इत्यादि) के साथ पैरामीटर को खोजने के लिए खुली बड़ी संख्या में खुली() की आवश्यकता होगी।
में प्रलेखन के साथ उपलब्ध है यह मैं कुछ नहीं बताता है मैं snd_device_name_hint साथ पता नहीं है()। ऐसा प्रतीत नहीं होता है, उदाहरण के लिए, प्रत्येक डिवाइस किस नमूना दर का समर्थन करता है। इसके अलावा मैं यह नहीं कहूंगा कि इसे सी कोड से कॉल करना और आउटपुट को संभालना बहुत आसान है, भले ही यह मुझे आवश्यक जानकारी का उत्पादन करे ... – Makis