मैं वर्तमान में एंड्रॉइड में ऑडियोट्रैक और ऑडियो रिकॉर्ड क्लास का उपयोग करता हूं।एंड्रॉइड ऑडियो रिकॉर्ड और ऑडियोट्रैक कोडेक विकल्प?
मैं शुद्ध पीसीएम डेटा का उपयोग, लेकिन मैं सोच रहा था क्या मेरे विकल्प अन्य कोडेक के लिए कर रहे हैं?
this page से ऐसा लगता है कि मैं केवल सांकेतिक शब्दों में बदलना कर सकते हैं और डिकोड एएमआर नैरोबैंड का उपयोग कर?
मैं वर्तमान में इस प्रकार ऑडियो वर्गों की स्थापना:
arec = new AudioRecord(MediaRecorder.AudioSource.MIC,
11025,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT,
buffersize);
atrack = new AudioTrack(AudioManager.STREAM_VOICE_CALL,
11025,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT,
buffersize,
AudioTrack.MODE_STREAM);
तो मेरे सवाल है कि कैसे मैं अन्य समर्थित कोडेक से एक के लिए पीसीएम से एन्कोडिंग बदल सकता हूँ?
मैं AudioFormat पर ENCODING_PCM_16BIT बदलने के लिए मैं केवल पीसीएम विकल्पों के साथ डिफ़ॉल्ट या अमान्य एन्कोडिंग का विकल्प प्राप्त का प्रयास करते हैं।
Android पर एन्कोडिंग और डिकोडिंग ऑडियो पर ट्यूटोरियल के लिए भी लिंक महान किसी को भी किसी भी या किसी भी मदद के लिए यहाँ जानता है बहुत सराहना होगी।
धन्यवाद
संपादित करें: मैं निम्नलिखित करने के लिए अपने कोड बदल गए हैं:
arec = new AudioRecord(MediaRecorder.AudioSource.MIC,
11025,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
**MediaRecorder.AudioEncoder.AMR_NB**,
buffersize);
atrack = new AudioTrack(AudioManager.STREAM_VOICE_CALL,
11025,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
**MediaRecorder.AudioEncoder.AMR_NB**,
buffersize,
AudioTrack.MODE_STREAM);
कोड को ठीक से चलता है, लेकिन मैं सोच रहा हूँ यह वास्तव में AMR_NB के रूप में ऑडियो सांकेतिक शब्दों में बदलना है और अगर यह है ऐसा करने का उचित तरीका नहीं है?
जब कच्चे पीसीएम का उपयोग कर मैं एक बफर अतिप्रवाह हो रही थी, लेकिन कोई भी नया कोड का उपयोग कर MediaRecorder.AudioEncoder.AMR_NB साथ AudioFormat.PCM
यह एक लंबे समय के बाद से आप अपने प्रश्न पोस्ट है, लेकिन शायद यह अभी भी किसी के लिए दिलचस्प है ... आप AMR_NB को एन्कोडिंग नहीं कर रहे हैं। झंडे सिर्फ int-field हैं। MediaRecorder.AudioEncoder.AMR_NB 0x01 है ... AudioFormat.ENCODING_DEFAULT के समान। तो आप बस डिफ़ॉल्ट एन्कोडिंग का उपयोग कर रहे हैं। – hacksteak25