6

मैं एक ऑडियो प्रोसेसिंग एप्लिकेशन विकसित कर रहा हूं जहां मुझे ऑडियो रिकॉर्ड करने की आवश्यकता है, और फिर उस रिकॉर्डिंग की विशेषताओं को प्राप्त करने के लिए इसे संसाधित करें। हालांकि, मैं ऑडियो प्लेयटर प्रारूप में ऑडियो प्लेप्लेयर के साथ इसे चलाने के लिए चाहता हूं।एंड्रॉइड ऑडियो रिकॉर्ड और मीडिया रिकॉर्डर

मैंने देखा है कि इसे संसाधित करने के लिए ऑडियो रिकॉर्ड करने के लिए ऑडियो रिकार्ड का उपयोग करना बेहतर है, क्योंकि मैं वहां से कच्चा ऑडियो प्राप्त कर सकता हूं। लेकिन फिर मैं एक प्ले करने योग्य प्रारूप में फ़ाइल को डेटा नहीं लिख सकता (क्या एंड्रॉइड में ऐसा करने के लिए कोई लाइब्रेरी है?)।

मैं इस विधि का इस्तेमाल कच्चे डेटा रिकॉर्ड करने और फिर इसे लिखने के एक फ़ाइल में करने के लिए: http://andrewbrobinson.com/2011/11/27/capturing-raw-audio-data-in-android/ लेकिन जब मैं डिवाइस पर इस फ़ाइल को चलाने का प्रयास है, यह चलाने योग्य नहीं है।

फिर यदि मैं MediaRecorder का उपयोग करता हूं तो मुझे नहीं पता कि सुविधाओं को निकालने के लिए डेटा को कैसे डीकोड करना है। मैं MediaExtractor को देख रहा हूं, लेकिन यह सीम करता है कि MediaExtractor फ्रेम को डीकोड नहीं करता है।

तो .. ऐसा करने का सबसे अच्छा तरीका क्या है? मुझे लगता है कि किसी भी ऑडियो प्रोसेसिंग एप्लिकेशन में यह आम है, लेकिन मैं इसे प्रबंधित करने का तरीका नहीं ढूंढ पाया।

आपके उत्तरों के लिए धन्यवाद।

उत्तर

16

AudioRecord का उपयोग करते हुए जाने के लिए अगर आप प्रसंस्करण के किसी भी प्रकार करने की जरूरत है सही तरीका है। इसे वापस खेलने के लिए, आपके पास कुछ विकल्प हैं। यदि आप इसे में अपने ऐप में वापस खेलेंगे, तो आप कच्चे पीसीएम स्ट्रीम खेलने के लिए MediaPlayer के बजाय AudioTrack का उपयोग कर सकते हैं।

यदि आप इसे अन्य अनुप्रयोगों के साथ बजाने योग्य बनाना चाहते हैं, तो आपको इसे पहले किसी अन्य रूप में परिवर्तित करना होगा। डब्ल्यूएवी आमतौर पर सबसे सरल है, क्योंकि आपको केवल header जोड़ने की आवश्यकता है। आप अन्य प्रारूपों में कनवर्ट करने के लिए पुस्तकालय भी ढूंढ सकते हैं, जैसे जॉबिस फॉर ओजीजी, या एमपी 3 के लिए जेएलएयर इत्यादि।

+0

धन्यवाद, यह मेरे लिए काम करता है। आखिरकार मैंने कच्चे पीसीएम फाइलों में ऑडियो रिकॉर्ड किया, और मैं ऑडियोट्रैक का उपयोग करके उन्हें खेलने में सक्षम था। – Miquel

2

सर्वोत्तम गुणवत्ता के परिणाम के लिए आपको MediaRecorder की बजाय AudioRecord क्लास का उपयोग करना होगा।
Need a simple example for audio recording

इसके अलावा इस लिंक को एक नजर है:
कृपया लिंक नीचे करने के लिए एक नजर है http://i-liger.com/article/android-wav-audio-recording

2

यदि आप कच्चे ऑडियो सिग्नल प्राप्त करने के लिए ऑडियोरेकॉर्ड ऑब्जेक्ट का उपयोग करते हैं, तो इसे चलाने के लिए अगला चरण एक playable फ़ाइल के रूप में सहेजने के लिए इतना मुश्किल नहीं है, आपको बस ऑडियो डेटा को कैप्चर करने से पहले एक डब्ल्यूएवी हेड जोड़ना होगा, फिर आपको एक .WAV फ़ाइल मिल जाएगी जिसे आप इसे अधिकांश मोबाइल फोन पर चला सकते हैं।

ए .WAV फ़ाइल आरआईएफएफ प्रारूप के तहत एक फ़ाइल है। डब्ल्यूएवी फ़ाइल के लिए आरआईएफएफ हेडर 44 बाइट लंबा है और नमूना दर, नमूना चौड़ाई और चैनल की गणना की जानकारी शामिल है। आप here

से विस्तृत जानकारी प्राप्त कर सकते हैं मैंने एंड्रॉइड फोन पर नमूना फ़ंक्शन किया और यह काम किया।

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