है, मैं विभिन्न प्रारूपों/कोडेक्स के बीच डीकोडिंग और एन्कोडिंग ऑडियो के लिए एक सी ++ लाइब्रेरी लिख रहा हूं। मेरे पास आवश्यक कोडेक लाइब्रेरी लोड करने से पहले प्रारूप को तुरंत पहचानने के लिए एक दिनचर्या है।पता लगाएं कि फ़ाइल एमपी 3
डब्ल्यूएवी फाइलों के लिए फ़ाइल की शुरुआत में एएससीआईआई मान "आरआईएफएफ" और "वेव" के लिए कोई सरल दिख सकता है। यह एफएलएसी पर भी लागू होता है, हम केवल पहले 4 बाइट्स में पढ़ सकते हैं, जो "एफएलएसी" होगा।
लेकिन फ़ाइल को एमपी 3 होने पर मैं तुरंत कैसे पता लगा सकता हूं? मैं फ़ाइल एक्सटेंशन पर भरोसा नहीं कर सकता। मैं पहले एमपी 3 फ्रेम को डीकोड करने की कोशिश भी नहीं कर सकता, क्योंकि फ़ाइल की शुरुआत में अतिरिक्त डेटा हो सकता है (उदाहरण: आईडी 3, कवर छवि, आदि)।
बाइट अनुक्रम जो आप सुझाते हैं ('I'' D' '3') आईडी 3 (v2) मेटाडेटा टैग के लिए शीर्षलेख का हिस्सा है लेकिन सभी एमपी 3 फ़ाइलों में ID3v2 टैग नहीं होंगे (और एक ID3v2.4 टैग हो सकता है शुरुआत के बजाय फ़ाइल के अंत में)। – Deltics