2010-05-07 10 views
5

मेरे आवेदन में मैं फ्रीटीएस पैकेज से एक javastreamingaudio क्लास का उत्तराधिकारी करता हूं, फिर लेखन विधि को बाईपास करता हूं जो ऑडियो प्रोसेसिंग के लिए SourceDataLine पर बाइट्स की सरणी भेजता है। डेटा लाइन पर लिखने के बजाय, मैं इसे और बाद में बाइट एरे को एक बफर में लिखता हूं जिसे मैं अपनी कक्षा में लाता हूं और ध्वनि में प्रक्रिया करने की कोशिश करता हूं। मेरा आवेदन फ्लोट्स के सरणी के रूप में ध्वनि को संसाधित करता है, इसलिए मैं फ्लोट में परिवर्तित करता हूं और प्रक्रिया करने की कोशिश करता हूं लेकिन हमेशा स्थिर ध्वनि वापस प्राप्त करता हूं।ऑडियो ध्वनि में कच्चे बाइट्स को परिवर्तित करना

मुझे यकीन है कि यह जाने का रास्ता है लेकिन रास्ते में कुछ याद आ रही है। मुझे पता है कि ध्वनि को फ्रेम के रूप में संसाधित किया जाता है और प्रत्येक फ्रेम बाइट्स का समूह होता है, इसलिए मेरे आवेदन में मुझे किसी भी तरह से बाइट्स को फ्रेम में संसाधित करना होता है। क्या मैं इसे सही तरीके से देख रहा हूं? किसी भी मदद के लिए अग्रिम में Thanx।

उत्तर

12

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

ByteArrayInputStream oInstream = new ByteArrayInputStream(ayAudioData); 
AudioInputStream oAIS = AudioSystem.getAudioInputStream(oInstream); 
+2

पहले से ही यह पता लगाया गया था कि आपके समाधान के लिए थेंक्स जैसा मैंने किया था। उम्मीद है कि यह किसी दिन किसी की मदद करेगा। –

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