कैसे एक और ALSA डिवाइस का उपयोग करने के लिए फ़ायरफ़ॉक्स बताओ?


13

मेरे पास एक ऑनबोर्ड साउंड कार्ड है, और एक कनेक्टेड ब्लूटूथ हेडसेट भी है। मैंने ब्लूटूथ डिवाइस को इसमें कॉन्फ़िगर किया है /etc/asound.conf:

# cat /etc/asound.conf

pcm.bluetooth {
    type bluetooth
    device 12:34:56:78:9a:bc
    profile "auto"
}

ctl.bluetooth {
    type bluetooth
}

डिफ़ॉल्ट रूप से, ऑनबोर्ड कार्ड का उपयोग सभी ध्वनि के लिए किया जाता है (जाहिर है, डिफ़ॉल्ट ऑनबोर्ड कार्ड को asound.conf में सूचीबद्ध होने की आवश्यकता नहीं है)

जब मुझे अपने ब्लूटूथ अलसा डिवाइस का उपयोग करने के लिए एक एप्लिकेशन चाहिए, तो मुझे इसे निर्दिष्ट करना होगा, जैसे:

mplayer -ao alsa:device=bluetooth file.mp3

मेरे लिए यह ठीक रहेगा। लेकिन मुझे अपने ब्राउज़र को ब्लूटूथ एल्सा डिवाइस का उपयोग करने के लिए कहने का एक तरीका चाहिए।

मुझे --alsa-output-deviceकमांडलाइन विकल्प का उपयोग करके क्रोमियम शुरू करने का एक तरीका मिल गया है:

chromium --alsa-output-device=bluetooth

मुझे फ़ायरफ़ॉक्स शुरू करने के लिए इसी तरह की आवश्यकता है, लेकिन मुझे कोई भी नहीं मिला।

मैं अपने ब्लूटूथ alsa डिवाइस का उपयोग करने के लिए फ़ायरफ़ॉक्स कैसे बता सकता हूँ, बिना संशोधित किए /etc/asound.confया ~/.asoundrcहर बार?

अपडेट करें:

मैंने @ lgeorget की सलाह का पालन किया है और मेरी /etc/asound.confअब इस तरह दिखती है:

pcm.!default {
type plug
slave.pcm {
        @func getenv
        vars [ ALSAPCM ]
        default "hw:0,0"
    }
}

pcm.bluetooth {
    type bluetooth
    device 12:34:56:78:9a:bc
    profile "auto"
}

ctl.bluetooth {
    type bluetooth
}

जब मैं फ़ायरफ़ॉक्स का उपयोग करना शुरू ALSAPCM=bluetooth firefoxकरता हूं, तो मैं अपने ब्लूटूथ हेडसेट में ध्वनि प्राप्त करता हूं, लेकिन फ़ायरफ़ॉक्स 100% सीपीयू (मेरे 4 कोर पर) पर चलता है और यूट्यूब वीडियो 10x गति पर खेलता है (और ध्वनि इसी तरह से होती है)। समझें कि क्या हो रहा है। जब मैं बिना फ़ायरफ़ॉक्स शुरू करता हूं ALSAPCM=bluetooth, तो सब कुछ ठीक है, और डिफ़ॉल्ट एल्सा डिवाइस पर ध्वनि चलता है।


वाह, 21 गोल्ड बैज वाला एक उपयोगकर्ता और केवल 28 प्रतिनिधि! तुमने ये कैसे किया?
दिमित्री ग्रिगोरीव

4
@ डमित्री ग्रिगोरीव - मैं इनामों पर सब कुछ खर्च करता हूं ...
मार्टिन वेग्टर

जवाबों:


9

जाहिरा तौर पर फ़ायरफ़ॉक्स के लिए कोई विकल्प नहीं है, लेकिन आप पर्यावरण चर के माध्यम से ALSA आउटपुट में हेरफेर कर सकते हैं।

उदाहरण के लिए प्रयास करें:

ALSA_PCM_CARD=bluetooth firefox

वैकल्पिक रूप से, यदि यह काम नहीं करता है, तो अपने .asoundrc को थोड़ा स्क्रिप्ट करने का प्रयास करें

pcm.!default {
type plug
slave.pcm {
        @func getenv
        vars [ ALSAPCM ]
        default "hw:hdmi"
    }
}

(अपने सामान्य pcm के साथ "hw: hdmi" बदलें)। फिर यदि आप एक विशिष्ट पीसीएम का उपयोग करने के लिए एक कार्यक्रम चाहते हैं, तो उपयोग करें:

ALSAPCM=bluetooth firefox

सूत्रों का कहना है:


पहला तरीका काम नहीं करता है। जब मैं दूसरे दृष्टिकोण की कोशिश करता हूं, तो मैं अपने ब्लूटूथ हेडसेट में ध्वनि प्राप्त करता हूं, लेकिन firefox100% सीपीयू (मेरे 4 कोर पर) और यूट्यूब वीडियो 10x की गति से चलता है। मुझे समझ नहीं आ रहा है कि क्या हो रहा है। जब मैं बिना फ़ायरफ़ॉक्स शुरू करता हूं ALSAPCM=bluetooth, तो सब कुछ ठीक है, और डिफ़ॉल्ट एल्सा डिवाइस पर ध्वनि चलता है।
मार्टिन वेग्टर

अलग-अलग एएलएसए पर्यावरण चर हैं (आर्कलिनक्स विकी के लिंक देखें), शायद एक और काम करेगा। मैं वास्तव में सीपीयू समस्या के बारे में आश्चर्यचकित हूं, मैं नहीं देखता कि क्या कारण हो सकते हैं।
lgeorget

1
सीपीयू लोड इस तथ्य के कारण सबसे अधिक संभावना है, कि वीडियो और ऑडियो को 10x गति से खेला और स्ट्रीम किया जा रहा है। रहस्य यही है कि ALSAPCM=bluetoothवीडियो की गति को 10x में कैसे बदला जाए।
मार्टिन वेगाटर

@MartinVegter खैर, मैंने pcm की परिभाषा को कॉपी किया है। एक विकी से मेरी पोस्ट में डिफ़ॉल्ट, यह आपके विशिष्ट मामले के लिए अनुकूल नहीं हो सकता है। विशेष रूप से "टाइप प्लग" और "दास" भाग।
लार्जेट

0

यह इस बग का अवतार लगता है । सुझाए गए कुछ समाधान हैं , लेकिन वे इंटेल विशिष्ट प्रतीत होते हैं।

पल्सीडियो का उपयोग करने का प्रयास करें। यदि यह काम करता है, तो आप अपने ALSA कार्यक्रमों को निम्नलिखित के साथ pulseaudio पर पुनर्निर्देशित कर सकते हैं asound.conf:

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

यदि वह मदद नहीं करता है, तो जोड़ने rate 44100या अपने अनुभाग के rate 48000लिए प्रयास pcm.bluetoothकरें asound.conf। शायद एएलएसए तब अपने होश में आएगा।

आप Html5 Youtube वीडियो स्पीड नियंत्रक भी आज़मा सकते हैं , हालांकि मुझे संदेह है कि यह मदद करेगा।


धन्यवाद, लेकिन मैं pulseaudio का उपयोग कर समाधान में कोई दिलचस्पी नहीं हूँ।
मार्टिन वेग्टर

माफ़ करना। क्या आप उस दर पैरामीटर की कोशिश कर सकते हैं?
दिमित्री ग्रिगोरीव 14

दर पैरामीटर (44100 और 48000 दोनों के साथ), मुझे निम्नलिखित त्रुटि मिलती है ALSA lib audio/pcm_bluetooth.c:1449:(bluetooth_parse_config) Invalid type for rate:। ऐसा लगता है कि ब्लूटूथ rateपैरामीटर का समर्थन नहीं करता है ।
मार्टिन वेगाटर

0

टिप्पणी: वर्तमान फ़ायरफ़ॉक्स संस्करण अज्ञात कारणों से ~ / .asound.conf को अनदेखा कर रहे हैं।

यदि आप pulseaudio का उपयोग नहीं करते हैं (यह मुख्य रूप से alsa पर एक अनावश्यक परत है, इसके बावजूद कि अधिकांश distros इसे स्थापित करते हैं), तो ज्यादातर मामलों में, आपको केवल एक अलग से डिफ़ॉल्ट ऑडियो आउटपुट का चयन करना होगा।

यह .asound.confआपके घर में निम्नलिखित के साथ किया जा सकता है :

pcm.!default {
    type hw
    card N
}

ctl.!default {
    type hw           
    card N
}

स्थानापन्न Nएक छोटे पूर्णांक, 0 आपकी पहली साउंड कार्ड के लिए (जो डिफ़ॉल्ट है), 1 अपने दूसरे के लिए के साथ, और इतने पर।

!में !defaultनिषेध यहाँ नहीं है! यह पहले (सिस्टम-वाइड डिफाइन्ड) ग्लोबल अलसा.कॉनफ का ओवरराइडिंग है।

अधिक मुश्किल विन्यास यहां पढ़ा जा सकता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.