रास्पबेरी जेसी पर डिफ़ॉल्ट इनपुट और आउटपुट ऑडियो डिवाइस सेट करने में असमर्थ


12

मुझे इस प्रश्न में वर्णित एक समान समस्या का सामना करना पड़ रहा है । हालांकि मैं रास्पबेरी पाई पर जेसी चला रहा हूं और यह एक /etc/modprobe.d/alsa-base.confफ़ाइल नहीं है ।

तो क्या कोई मुझे बता सकता है कि जेसी पर डिफ़ॉल्ट इनपुट और आउटपुट ऑडियो डिवाइस कहां और कैसे सेट करें।


आप बस उस फ़ाइल को बनाने का प्रयास कर सकते हैं; मुझे नहीं पता कि डिवाइस ट्री के साथ कुछ करने के कारण इसे हटा दिया गया था, और यदि ऐसा है तो क्या इससे कोई फर्क पड़ेगा। जब तक उन्हें बुलाया जाता है तब तक कोई फर्क नहीं पड़ता है (जब तक कि वे पढ़े जाने वाले क्रम को निर्धारित नहीं करते हैं) से परे, जब तक वे समाप्त नहीं होते हैं .conf। यह उनमें है जो मायने रखता है।
गोल्डीलॉक्स

ठीक है, मैं इसे बनाऊंगा लेकिन फिर उसी की सामग्री क्या होगी। क्या मुझे सिर्फ एक लाइन "विकल्प snd-usb-audio index = 0" जोड़ना चाहिए ??
पार्थ दोशी

मुझे लगता है कि वहाँ दो लाइनें सुझाई गई हैं, एक और options snd_bcm2835 index=1
गोल्डीलॉक्स

नमस्ते मैं एक ही जोड़ने की कोशिश की, लेकिन अभी भी डिफ़ॉल्ट snd_bcm2835 ही है। मैंने रिबूट भी किया
पार्थ दोशी

वहाँ छोड़ दें, और यदि आप किसी भी चीज़ के लिए डिवाइस ट्री का उपयोग नहीं कर रहे हैं (उदाहरण के लिए I2C) , तो इसे निष्क्रिय करने के लिए device_tree=(इसके बाद कुछ भी नहीं) जोड़ने की कोशिश करें /boot/config.txt, फिर से रिबूट करें। यदि वह काम नहीं करता है, config.txtतो आप उस लाइन को हटा सकते हैं ताकि आप बाद में भूल न जाएं।
गोल्डीलॉक्स

जवाबों:


9

ठीक है, पहले फ़ाइल को हटा /etc/modprobe.d/alsa-base.confदें रास्पियन जेसी इस कॉन्फ़िग फ़ाइल का उपयोग नहीं करता है जैसे व्हीज़ी ने किया था।

यह जानने के लिए कि आपका डिवाइस किस पते का उपयोग करता है, आपको पहले कमांड दर्ज करने की आवश्यकता है जो aplay -lसभी ऑडियो आउटपुट डिवाइस और उनके पते को दिखाता है। उदाहरण के लिए, मेरा USB साउंड कार्ड आउटपुट में डिवाइस 1 के रूप में आता है जो इस तरह दिखता है।

card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

अब, डिवाइस को अपने डिफ़ॉल्ट कार्ड पर सेट करने के लिए आपको /usr/share/alsa/alsa.confकमांड sudo nano /usr/share/alsa/alsa.confस्क्रॉल के साथ फाइल को संपादित करना होगा जब तक कि आप लाइनों को नहीं ढूंढते

defaults.ctl.card 0
defaults.pcm.card 0

और उन्हें बदल दें (यदि आपके डिवाइस को डिवाइस 1 के रूप में भी सूचीबद्ध किया गया है, तो 1 को जो भी पते पर सूचीबद्ध किया गया था उसे नहीं बदलें)

defaults.ctl.card 1
defaults.pcm.card 1

स्पष्टीकरण: यूएसबी साउंड कार्ड को रास्पियन जेसी पर कार्ड 1 के रूप में पंजीकृत किया गया है। व्हीजी पर उन्हें डिफ़ॉल्ट रूप से कार्ड -2 के रूप में पंजीकृत किया /etc/modprobe.d/alsa-base.confजाएगा और संपादन में बदलाव होगा।

मुझे नहीं पता कि यह अगला कदम आवश्यक है लेकिन इसके बिना मेरा कार्ड काम नहीं करेगा।

~/.asoundrcकमांड का उपयोग करके फ़ाइल बनाएं और संपादित करें sudo nano ~/.asoundrcऔर इसे बदलें ताकि यह केवल इसे पढ़े:

pcm.!default {
    type hw
    card 1
}

ctl.!default {
    type hw
    card 1
}

अब आपका डिफ़ॉल्ट ऑडियो आउट (स्पीकर) और ऑडियो इन (माइक) आपके USB डिवाइस हैं।


अगर आप USB साउंड कार्ड का उपयोग नहीं कर रहे हैं तो @ParDoshi I ने प्रश्न संपादित किया।
पैट्रिक कुक

त्वरित उत्तर के लिए पैट्रिक धन्यवाद। मैं इसकी जांच करूंगा और आपको बता दूंगा। मैं आउटपुट के रूप में इनपुट और ऑडियो स्पीकर के रूप में एक यूएसबी माइक का उपयोग कर रहा हूं। मेरे स्पीकर 3.5 मिमी ऑडियो जैक के माध्यम से जुड़े हुए हैं।
पार्थ दोशी

@ParDDoshi तो आपके स्पीकर पी पर मानक ध्वनि कार्ड का उपयोग कर रहे हैं?
पैट्रिक कुक

हाँ, वे मानक साउंड कार्ड का उपयोग कर रहे हैं। मैंने स्पीकर-टेस्ट कमांड चलाकर एक परीक्षण किया ... मैं अपने पीआई पर एक नमूना एमपी 3 फ़ाइल चलाने में सक्षम हूं जिसे मैं अपने वक्ताओं के माध्यम से स्पष्ट रूप से सुन सकता हूं, एकमात्र समस्या अब के रूप में माइक है
पार्थ दोशी

ठीक है, तो आपको उन फ़ाइलों में से एक को बदलने की आवश्यकता नहीं है, मैं समझ रहा हूं कि अभी कौन सी रेखा है।
पैट्रिक कुक

4

प्रश्न एक अन्य पोस्ट का जिक्र कर रहा है जिसमें पहले से ही एक उत्तर है जो बताता है कि जेसी के साथ संपादन करने की आवश्यकता नहीं है /usr/share/alsa/alsa.conf, बस बनाएं ~/.asoundrcऔर टाइप करें

pcm.!default {
    type hw
    card 1
}

ctl.!default {
    type hw
    card 1
}

पुनश्च: मैंने अभी-अभी लॉजिटेक जेड -5 स्पीकर के साथ जुड़े रास्पबेरी 2 पर एक साफ स्थापना के साथ इसका परीक्षण किया, पूरी तरह से काम करता है


3

यदि आपके पास इनपुट और आउटपुट के लिए एक अलग डिवाइस है (उदाहरण usb mikrophone और 3.5 मिमी ऑडियो स्पीकर), तो आप इसे अपने ~ / .asoundrc में इस तरह लिख सकते हैं:

pcm.!default {
  type asym
  playback.pcm
  {
    type hw
    card 0
    device 0
  }
  capture.pcm
  {
    type hw
    card 1
    device 0
  }
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.