मैं एक ऐसे एप्लिकेशन पर काम कर रहा हूं जिसमें ऑडियो फाइलों को संसाधित करना है। एमपी 3 फाइलों का उपयोग करते समय मुझे यकीन नहीं है कि डेटा को कैसे संभाला जाए (जिस डेटा में मुझे रूचि है वह ऑडियो बाइट्स है, जो कि हम जो सुनते हैं उसका प्रतिनिधित्व करते हैं)।एमपी 3 से ऑडियो डेटा कैसे प्राप्त करें?
यदि मैं एक WAV फ़ाइल का उपयोग कर रहा हूं, तो मुझे पता है कि मेरे पास 44 बाइट हेडर और फिर डेटा है। जब एमपी 3 की बात आती है, तो मैंने पढ़ा है कि वे फ्रेम द्वारा रचित हैं, प्रत्येक फ्रेम जिसमें हेडर और ऑडियो डेटा है। क्या एमपी 3 फ़ाइल से सभी ऑडियो डेटा प्राप्त करना संभव है?
मैं जावा का उपयोग कर रहा हूं (मैंने एमपी 3 एसपीआई, जेलेर और ट्राइटोनस जोड़ा है) और मैं फ़ाइल से बाइट प्राप्त करने में सक्षम हूं, लेकिन मुझे यकीन नहीं है कि इन बाइट्स का प्रतिनिधित्व करने या फिर कैसे संभालना है ।
हाय जॉन, आपके त्वरित उत्तर के लिए धन्यवाद! आपके प्रस्ताव में; अन्य प्रारूप में डीकोड किए गए एमपी 3 डेटा का प्रतिनिधित्व 'decodedFormat' है? अगर मैं "din.read()" लिखता हूं, तो क्या मैं डेटा डीट्स को डीकोडेड प्रारूप में प्राप्त कर रहा हूं? धन्यवाद – dedalo
हां। उस डिकोडेड फोरमेट का कहना है, "मैं चाहता हूं कि आप हस्ताक्षरित पीसीएम डेटा के रूप में डीकोड करें"। –
हाय। मैंने आपकी सलाह का पालन किया और यह काम किया। डेटा का विज़ुअलाइज़ करने के लिए मैं उपयोग करता हूं: जबकि ((numBytesRead = din.read (ऑडियोबाइट्स))! = -1) {} यह बाइट को 'din' में पढ़ता है और उन्हें सरणी ऑडियोबाइट्स में संग्रहीत करता है। मैंने डेटा का उपयोग करके डेटा विज़िज़िज़िन करने का प्रयास किया है: ((numBytesRead = din.read (ऑडियोबाइट्स))! = -1) { System.out.println ("बाइट डीकोडेड मान" + ऑडियोबाइट्स [0]);} मेरे पास इस डेटा के बारे में एक प्रश्न है: प्रत्येक नमूना 16 बिट्स का उपयोग करता है, जो सरणी ऑडियोबाइट्स में 2 पद है, rigth? मैं प्रत्येक नमूने का मूल्य कैसे प्राप्त कर सकता हूं? क्या डीकोडेड प्रारूप (WAV) में 44 हेडर बाइट हैं? आपकी मदद के लिए बहुत बहुत धन्यवाद! – dedalo