Hice un poco de investigación, tal vez te ayude.
estructura de archivos
Un archivo MP3 se compone de múltiples marcos de MP3, que consisten en una cabecera y un bloque de datos.Esta secuencia de cuadros se llama una corriente elemental. Los marcos no son elementos independientes ("depósito de bytes") y, por lo tanto, no se pueden extraer en límites de marcos arbitrarios. Los bloques de datos MP3 contienen la información de audio (comprimida) en términos de frecuencias y amplitudes. El diagrama muestra que el encabezado de MP3 consiste en una palabra de sincronización, que se usa para identificar el comienzo de un fotograma válido. Esto es seguido por un bit que indica que este es el estándar MPEG y dos bits que indican que se utiliza la capa 3; de ahí MPEG-1 Audio Layer 3 o MP3. Después de esto, los valores serán diferentes, dependiendo del archivo MP3. ISO/IEC 11172-3 define el rango de valores para cada sección del encabezado junto con la especificación del encabezado. La mayoría de los archivos MP3 actuales contienen metadatos ID3, que preceden o siguen a los cuadros MP3; como se observa en el diagrama.
El código fuente de LAME
LAME es un libary MP3, pero también es de código abierto, cosa que significa que se puede descargar el código fuente y buscar en ella. http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz/download Lo eche un vistazo yo mismo, y parece estar escrito en C o C++, así que tienes suerte. Si examina el código fuente de LAME y entiende cómo funciona, tal vez pueda lograr crear su propia biblioteca de MP3. Solo tenga en cuenta que LAME no es una biblioteca para reproducir archivos MP3, sino para codificarlos. Pero como crea MP3 en lugar de leerlos, creo que la estructura debería ser un poco más clara que con cualquier otra biblioteca de reproductores de MP3.
Explicación del formato de archivo MP3
Esto también parece explicar cómo funciona MP3 bastante bien, pero es pura teoría, por lo que tendrá mucha paciencia. http://www.mp3-converter.com/mp3codec/
Si necesita hacer una consulta como esta, le recomiendo que abandone la idea de escribirla por su cuenta, y más bien use alguna biblioteca. – nothrow