2009-12-10 9 views
6

मैं .NET 3.5 के तहत एक साधारण ऑडियो एप्लिकेशन के साथ शुरू करने की कोशिश कर रहा हूं (अधिमानतः वीबी.नेट में, लेकिन खुशी से सी # का उपयोग करेगा)। मुझे क्या करना चाहते हैं:.NET अनुप्रयोगों में ऑडियो के साथ काम करने के लिए अनुशंसित तरीका?

  • से (डिफ़ॉल्ट) लगातार ऑडियो रिकॉर्ड 8-बिट-प्रति-नमूना पीसीएम प्रारूप
  • हर N के लिए में Windows ऑडियो इनपुट डिवाइस पर कब्जा कर लिया बाइट कुछ विश्लेषण पर करते हैं कच्चा ऑडियो (कुछ आरएमएस और/या एसपीएल गणना - मूल रूप से आपको एक सुंदर वीयू बार ग्राफ चीज़ के लिए क्या चाहिए)
  • यदि ऑडियो खंड विश्लेषण के बाद दिलचस्प पाया जाता है, तो इसे संपीड़ित फ़ाइल प्रारूप (जैसे एमपी 3)

पहली बात मैंने देखी है कि मूल .NET Framework में ऑडियो समर्थन है काफी ज्यादा नहीं। कुछ हद तक गुगलिंग कुछ नमूना कोड मिला, ज्यादातर प्रबंधित डायरेक्टएक्स का उपयोग कर। हालांकि, MSDN प्रलेखीकरण की कमी, पुस्तकालयों (2004) और निम्न VS.NET 2008 में खतरनाक एमडीए अपवाद की पुरानी, ​​मुझे आश्वस्त किया है कि यह एक मृत अंत है:

Message: DLL 'Microsoft.DirectX.dll' is attempting managed execution inside 
OS Loader lock. Do not attempt to run managed code inside a DllMain or image 
initialization function since doing so can cause the application to hang. 

... जो मुझे लगता है कि शिथिल तब्दील "इस सामग्री का उपयोग करने के लिए को भी आजमाएं।" क्या मुझे यहां कुछ याद आ रही है, या प्रबंधित डायरेक्टएक्स वास्तव में मर चुका है? Another StackOverlow question बताता है कि एक्सएनए प्रबंधित डायरेक्टएक्स के लिए एक प्रतिस्थापन है, लेकिन इसमें मुझे निम्न स्तर की कार्यक्षमता की कमी है।

तो, कौन सी एपीआई या तृतीय-पक्ष लाइब्रेरी वास्तव में .NET के तहत ऑडियो विकास के लिए उपयोगी है? COM इंटरऑप या पी/Invoke का उपयोग स्वीकार्य है, जब तक कुछ सभ्य .NET उदाहरण कोड शुरू करने के लिए उपलब्ध है ...

उत्तर

4

क्या आपने NAudio on CodePlex देखा है? ऐसा लगता है कि इसमें आपकी विशेषताएं हैं।

+0

+1, बहुत आशाजनक लग रहा है! इसे अभी आज़माएं ... – mdb

1

यदि आप डायरेक्टएक्स आधारित ध्वनि समाधान का प्रयास करना चाहते हैं तो आप SlimDX का उपयोग कर सकते हैं। यह डायरेक्टसाउंड और एक्सऑडियो इंटरफेस का समर्थन करता है।

+0

धन्यवाद, एक और आशाजनक समाधान है कि मेरे कमजोर Google-fu ने किसी भी तरह से – mdb

2

मैं BASS library का प्रशंसक रहा हूं जिसमें एक .NET API है।

+0

को अनदेखा किया है, इसका लाइसेंस मेरे लिए कुछ हद तक उपरोक्त है। फिर भी, बुकमार्क किया गया ... – mdb

1

दूसरा FMOD है।

+0

धन्यवाद - वाणिज्यिक उपयोग के लिए महंगा है, हालांकि। इस बीच में पाया गया एक और तरीका http://www.ambiera.com/irrklang/irrklang_pro.html है, जो अजीब लाइसेंसिंग से भी पीड़ित है – mdb

+0

मुझे नहीं लगता कि इरक्लंग का लाइसेंसिंग अजीब है ... डेवलपर आपको दे रहा है लाइसेंस का चयन करने का विकल्प जो आपकी स्थिति के लिए सबसे उपयुक्त है। –

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

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