2016-10-19 10 views

उत्तर

11

डॉकर-फॉर-मैक वीएम में कोई ध्वनि पासथ्रू डिवाइस नहीं है, इसलिए ऐसा कुछ भी नहीं है जिससे आप उस कोण से लाभ उठा सकें। इसके विपरीत, वर्चुअलबॉक्स या वीएमवेयर फ़्यूज़न वीएम में पासथ्रू ऑडियो करने की क्षमता होती है।

मैं पल्सऑडियो स्थापित किया है और निम्न आदेश के साथ पर OSX काम कर पाने के लिए कर रहा था:

brew install pulseaudio 

मैं इस निम्नलिखित चलाकर काम किया सत्यापित करने में सक्षम था, सुनवाई ध्वनि मेरी वक्ताओं से बाहर आ:

paplay cockatiel.wav 

मेरा अगला चरण उस छवि को ढूंढना है जिसमें paplay की एक प्रति है। मुझे jess/pulseaudio मिला, जो कि एक पल्सौडियो सर्वर होने का इरादा है, लेकिन मुझे इसे क्लाइंट के रूप में भी उपयोग करने में सक्षम होना चाहिए। मैं निम्न तरीके से वह स्थिति के लिए अनुकूल करने में सक्षम था https://wiki.archlinux.org/index.php/PulseAudio/Examples#PulseAudio_over_network

:

मैं निम्नलिखित पल्सऑडियो नेटवर्क ध्वनि की स्थापना पर चर्चा Archlinux विकी पर गाइड पाया। मैं पर मेरे मैक /usr/local/Cellar/pulseaudio/9.0/etc/pulse/default.pa संपादित, और निम्नांकित दो पंक्तियों uncommented:

load-module module-esound-protocol-tcp 
load-module module-native-protocol-tcp 

मैं पर मेरे मैक paplay cockatiel.wav reran यकीन है कि मेरे परिवर्तन अभी भी काम किया बनाने के लिए। pulseaudio डिमन मांग पर शुरू होता प्रतीत होता है, और यदि मैंने टाइपो बनाया है तो मेरी स्क्रीन पर मुद्रित होने के लिए इसकी शिकायतों को वापस paplay पर भेज दिया जाता है। मुझे अभी भी उन परिवर्तनों के साथ डिफ़ॉल्ट रूप से ध्वनि है .pa, इसलिए मैं संतुष्ट हूं कि मेरे परिवर्तनों ने कुछ तोड़ नहीं दिया।

इसके बाद, मैं इस तरह एक कंटेनर में पल्सऑडियो ग्राहक भाग गया:

docker run --rm -v $HOME:$HOME -w $HOME -it \ 
    -e PULSE_SERVER=192.168.10.23 \ 
    -e HOME=$HOME --entrypoint paplay \ 
    jess/pulseaudio $HOME/cockatiel.wav 

क्या यह है एक मात्रा के रूप में अपने स्थानीय घर निर्देशिका के साथ एक कंटेनर चलाया जाता है। यह दो उद्देश्यों को पूरा करता है। पहला यह तथ्य है कि मेरा cockatiel.wav $HOME के अंदर स्थित है। दूसरा यह है क्योंकि क्लाइंट और सर्वर दोनों को एक ही ~/.config/pulse/cookie फ़ाइल (उस archlinux विकी गाइड के प्रति) की एक प्रति होना चाहिए।

PULSE_SERVER पर्यावरण चर मेरे ओएसएक्स मेजबान का एनएन आईपी पता है, इसलिए पैपल जानता है कि कनेक्ट करने के लिए क्या करना है।

HOME पर्यावरण चर आवश्यक है इसलिए पैपल को ~/.config/pulse/cookie फ़ाइल मिल सकती है।

मैं pulseaudio के माध्यम से अपने डॉकर-फॉर-मैक पर चलने वाले कंटेनर से ध्वनि चलाने में सक्षम था।

जब तक आप सही स्थान पर दिखाई देने के लिए ~/.config/pulse/cookie फ़ाइल प्राप्त करते हैं, तो आपको ध्वनि चलाने में सक्षम होना चाहिए। इसे पूरा करने के लिए आपको होस्ट वॉल्यूम का उपयोग करने की आवश्यकता नहीं है - आप इसे 'डॉकर सीपी' या यहां तक ​​कि COPY भी एक छवि में कर सकते हैं।

+2

मुझे पैपले पियानो 2.wav $ paplay piano2.wav डब्ल्यू चलाते समय निम्न त्रुटि मिलती है डब्ल्यू: [] कैप्स।सी: आम तौर पर सभी अतिरिक्त क्षमताओं को छोड़ दिया जाएगा, लेकिन यह असंभव है क्योंकि पल्सऑडियो को क्षमता समर्थन के बिना बनाया गया था। कनेक्शन विफलता: कनेक्शन से इनकार कर दिया गया pa_context_connect() विफल: कनेक्शन से इनकार कर दिया –

+0

@valentin_nasta क्या आपने मैक पर PulseAudio इंस्टॉल करने के साथ समस्या को ठीक करने का प्रबंधन किया था? –

+1

वर्तमान पल्सऑडियो 10.0 के साथ, "pulseaudio --daemonize = false -v" चलाना प्रतीत नहीं होता है, "W: [] socket-util.c: IP_TOS विफल: अमान्य तर्क" दो मॉड्यूल-एसाउंड- प्रोटोकॉल-टीसीपी/ मॉड्यूल-नेटिव-प्रोटोकॉल-टीसीपी लाइनें। – jamshid

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