लिनक्स मुझे / dev / dsp के साथ खेलने की अनुमति क्यों नहीं देगा?


12

मैं एक लिनक्स पाठ्यपुस्तक के माध्यम से काम कर रहा हूं, और यह मुझे उपकरणों के बारे में बता रहा है। यह कहता है कि अगर मैं उपयुक्त आउटपुट को भेजूं /dev/dsp, तो यह एक ध्वनि बजाएगा। उदाहरण है cat file.wav > /dev/dsp, जहाँ file.wav केवल कोई .wav फ़ाइल है।

जब मैं ऐसा करता हूं तो मुझे अनुमति से वंचित कर दिया जाता है। अगर मैं इसे सूडो के साथ चलाता हूं तो मुझे अभी भी अनुमति से वंचित रखा गया है। अगर मैं suपहली बार, कोई आवाज नहीं खेलता।

मुझे अनुमति से इनकार क्यों करना है sudo? कोई आवाज भी क्यों नहीं बजाता है su?


1
सुनिश्चित करें कि आपका उपयोगकर्ता audioसमूह में है।
कार्ल ग्रोनर

आपको यह भी सुनिश्चित करना होगा कि आपकी wav फ़ाइल कच्ची ऑडियो है - सभी .wav फाइलें कच्ची नहीं हैं।
ड्रेक क्लेरिस

@DrakeClarris, कि शोर के कारण आउटपुट हो सकता है, न कि अनुमति से वंचित त्रुटि।
cjm

@cjm जब मैं सु का उपयोग कर रहा था, तब मैं चुप्पी के बारे में अधिक सोच रहा था
ड्रेक क्लेरिस

जवाबों:


14

/dev/dspOSS का एक हिस्सा है, जो ... बहुत लंबे समय में लिनक्स कर्नेल का हिस्सा नहीं रहा है। यह लंबे समय से एएलएसए द्वारा अलग किया गया है, जो विभिन्न उपकरणों, विभिन्न कार्यक्रमों और एक अलग एपीआई का उपयोग करता है।

हालांकि एक उत्सर्जन परत मॉड्यूल है। यदि यह उपलब्ध है तो snd-pcm-ossमॉड्यूल लोड करने से आप ओएसएम जैसे पीसीएम उपकरणों का उपयोग कर पाएंगे /dev/dsp

या सिर्फ पाइपिंग डेटा के लिए aplayया paplayइसके बजाय छड़ी ।


2
sudo modprobe snd-pcm-ossउस मॉड्यूल को लोड करने के लिए मेरे ubuntu पर काम करता है। मुझे इसमें से एक /dev/dsp1और एक मिलता है /dev/dsp2
वेदा

9

अगर मैं इसे सूडो के साथ चलाता हूं तो मुझे अभी भी अनुमति से वंचित रखा गया है।

इस कथन के द्वारा, ऐसा लगता है जैसे आप एक कमांड की कोशिश कर रहे हैं:

sudo cat file.wav > /dev/dsp

आपके द्वारा "अनुमति अस्वीकृत" होने का कारण यह है कि आपका शेल पहले कमांड (जो है ) चलाने से पहले/dev/dsp आउटपुट के लिए डिवाइस को खोलने की कोशिश करता है । शेल को मूल विशेषाधिकारों के साथ पुनर्निर्देशन के लिए खोलने के लिए, आपको कुछ ऐसा करना होगा:sudo

sudo sh -c 'cat file.wav > /dev/dsp'

6

जैसा कि नोट किया गया है, आउट ऑफ डेट बुक।
इसलिए उदाहरणों को और अधिक आधुनिक लिनेक्स के साथ काम करने के लिए, जहाँ यह कुछ कहता है

cat music.wav > /dev/dsp

इसे बदलें:

cat music.wav | aplay

और आपने अभी-अभी कोड की अपनी पहली पोर्टिंग की है! जीत! पुस्तक लेखक पैच भेजने के लिए स्वतंत्र महसूस करें। :-)

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