2012-02-19 15 views
6

तो विंडोज़ में, आप C12+ एप्लिकेशन में एमपी 3 फ़ाइल चलाने के लिए PlaySound फ़ंक्शन का उपयोग कर सकते हैं। मैक ओएस एक्स/लिनक्स में उपयोग के लिए कुछ समान कार्य उपलब्ध होंगे? यदि आप कुछ नमूना हैलो-वर्ल्ड टाइप प्रोग्राम को प्रदर्शित कर सकते हैं तो मैं इसकी भी सराहना करता हूं।देशी सिस्टम कॉल का उपयोग कर सी ++ में ध्वनि बजाना?

+0

आपको क्रॉस प्लेटफ़ॉर्म ध्वनि/संगीत के लिए ओपनएएल का उपयोग करने पर विचार करना चाहिए। – rasmus

उत्तर

4

आप केवल open("/dev/dsp") कर सकते हैं और इसे लिख सकते हैं। जैसा कि आप प्राप्त कर सकते हैं, "मूल सिस्कल" जैसा है, मुझे विश्वास है।

+0

मुझे यकीन नहीं है कि मैक पर/dev/dsp उपलब्ध है (डिफ़ॉल्ट रूप से डिफ़ॉल्ट रूप से) – NothingMore

+0

क्या आप मुझे एक कामकाजी उदाहरण दे सकते हैं? मुझे नहीं पता कि यह कैसे करना है। –

1

ठीक है, मुझे यकीन नहीं है कि वर्तमान डेस्कटॉप में कुछ और उन्नत सेवाएं/पुस्तकालय हैं जो ऑडियो फाइलें चलाते हैं, लेकिन यदि आप वास्तव में कुछ निम्न स्तर के ओएस ऑडियो आउटपुट करना चाहते हैं, तो here देखें। शायद यह आपकी जरूरतों के लिए थोड़ा बहुत कम स्तर है।

3

ऑडियो के बारे में: लिनक्स! = मैक, इसलिए मैं अलग से जवाब दूंगा।

मैकोज़ निम्न स्तर के ऑडियो के लिए core audio ढांचे का उपयोग करता है। उस पर बिल्डिंग कई उच्च स्तरीय एपीआई हैं। यदि आप सिर्फ एक ध्वनि फ़ाइल खेलना चाहते हैं तो AV Foundation Framework सबसे अधिक संभावना है। Here आपको आईओएस के लिए एक साधारण ऐप बनाने के लिए एक उदाहरण मिलता है, जिसे आसानी से मैकोज़ पर पोर्ट किया जा सकता है।

लिनक्स के लिए पूरी स्थिति काफी नाजुक है। वहां कई अलग-अलग ढांचे और पुस्तकालय मौजूद हैं और यह बहुत अस्पष्ट है जो कम है और जो उच्च स्तर है, क्योंकि उनमें से कुछ दूसरों को नकल कर रहे हैं। मूल रूप से निम्न स्तर के ऑडियो के लिए एएलएसए और ओएसएस है। उनमें से दोनों बकवास हैं। जैक पेशेवर ऑडियो के लिए एक ढांचा प्रदान करना है, लेकिन यह बहुत पोर्टेबल नहीं है (कम से कम यदि आप एम्बेडेड डिवाइस में रूचि रखते हैं)। वर्तमान में अधिकांश लिनक्स ओएस पल्सएडियो को अपने ऑडियो सर्वर के रूप में उपयोग कर रहे हैं, जिसमें एक ही ध्वनि और कम स्तर की सामग्री के लिए एक बहुत ही कठिन एपीआई खेलने के लिए एक साधारण एपीआई भी है। और फिर gstreamer लाइब्रेरी है, जो पोर्टेबल है और इसका आधे रास्ते descent API है और विशेष रूप से ऑडियो & वीडियो फ़ाइलों और स्ट्रीमों को चलाने के लिए डिज़ाइन किया गया है, और संभवतः लिनक्स पर जाने का तरीका।

मैं व्यक्तिगत रूप से PortAudio का उपयोग करने की अनुशंसा करता हूं, जो एक पुस्तकालय है जो नाम प्रदान करता है - एक ऑडियो फ्रेमवर्क जो कई ऑपरेटिंग सिस्टम और audio frameworks में पोर्टेबल है। पोर्टऑडियो भी अच्छी तरह डिज़ाइन किया गया है और इसमें एक साधारण लेकिन लचीला एपीआई है।

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