मेरे पास वर्तमान में एक बाइट सरणी के रूप में एक पीसीएम ऑडियो है। प्रारूप 16 बिट थोड़ा एंडियन पर हस्ताक्षर किए गए हैं। मैं इसे एंड्रॉइड पर कुछ बजाने योग्य प्रारूप में रूपांतरित करना चाहता हूं, अधिमानतः संस्करण 3.2 या उच्चतर। क्या किसी के पास सुझाव है कि यह कैसे किया जा सकता है? मैंने कुछ शोध किया है और नीचे दिए गए प्रयासों की कोशिश की है, लेकिन कोई भी सफल नहीं हुआ। अगर कोई बेहतर तरीका सुझा सकता है या संकेत दे सकता है कि मैं कहां गलत हो गया हूं तो इसकी बहुत सराहना की जाएगी।पीसीएम रॉ बाइट्स [] एंड्रॉइड पर ऑडियो के लिए
मैंने सही ऑडियो सेटिंग्स के साथ ऑडियोफॉर्मैट बनाने का प्रयास किया है, हालांकि एंड्रॉइड javax.sound.sampled लाइब्रेरी का समर्थन नहीं करता है।
मैंने पीसीएम डेटा को एक लहर फ़ाइल में लिखने का भी प्रयास किया है, लेकिन मैं सभी आवश्यक Wav शीर्षलेख जानकारी प्राप्त करने में परेशानी में भाग रहा हूं।
मैंने पीसीएम डेटा खेलने के लिए एंड्रॉइड द्वारा प्रदान की गई ऑडियोट्रैक क्लास का उपयोग करने का भी प्रयास किया है। हालांकि, मुझे कोई आवाज नहीं लग रही है। यहां मेरी विधि है:
public void playback(){
try{
AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_VOICE_CALL, 8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, 500000, AudioTrack.MODE_STATIC);
audioTrack.write(audio, 0, 500000);
} catch(Throwable t){
Log.d("Audio","Playback Failed");
}
}
किसी भी सुझाव की सराहना की जाएगी।
मेरा उत्तर –