Est-ce que quelqu'un connaît une bonne ressource sur la spécification de fichier Audible Audio (.aa)? J'essaie d'écrire un programme qui peut les utiliser, si personne ne connaît une ressource, des conseils sur l'ingénierie inverse de la spécification de moi-même? Je l'ai ouvert dans un éditeur Hex et je me suis baladé, il ressemble à un MP3 mais avec une tonne d'infos en-tête.Spécification de fichier Audible Audio (.aa)?
2
A
Répondre
2
Je l'ai fait des recherches sur l'en-tête sonore pour créer un joueur pour ma radio voiture/ordinateur. Fondamentalement, il ya un bloc de 3700 caractères au début du fichier qui englobe un certain nombre de champs d'intérêt, tels que Titre, Auteur, Narrateur, etc. J'ai un code d'analyse limité en C# pour afficher certaines des informations de base de la fichier .aa. comme suit:
private void ParseFields(string fileName)
{
string aaHeader;
string tryDate;
if (fileName == "") return;
using (StreamReader sr = new StreamReader(fileName))
{
char[] buff = new char[3700];
sr.Read(buff, 0, buff.Length);
aaHeader = new string(buff);
}
try
{
_author = GetParsedItem(aaHeader, "author");
}
catch
{
_author = "?";
}
try
{
_title = GetParsedItem(aaHeader, "short_title");
}
catch
{
_title = "???";
}
try
{
_narrator = GetParsedItem(aaHeader, "narrator");
}
catch
{
_narrator = "?";
}
try
{
_description = GetParsedItem(aaHeader, "description");
}
catch
{
_description = "???";
}
try
{
_longDescription = GetParsedItem(aaHeader, "long_description");
}
catch
{
_longDescription = "";
}
try
{
tryDate = GetParsedItem(aaHeader, "pubdate");
if (tryDate != "")
_pubDate = Convert.ToDateTime(GetParsedItem(aaHeader, "pubdate"));
else
_pubDate = DateTime.Today;
}
catch
{
_pubDate = DateTime.Today;
}
}
private string GetParsedItem(string buffer, string fieldName)
{
if (buffer.Contains(fieldName))
{
int pos = buffer.IndexOf(fieldName);
pos += fieldName.Length;
int posEnd = buffer.IndexOf('\0',pos);
//if the value for the field is empty, skip it and look for another
if (pos == posEnd)
{
pos = buffer.IndexOf(fieldName, posEnd);
pos += fieldName.Length;
posEnd = buffer.IndexOf('\0', pos);
}
return buffer.Substring(pos, posEnd - pos);
}
else
return "(not found - " + fieldName + ")";
}
1
Je pense, il n'y a pas de spécification. Jetez un oeil à Wikipedia/Audible.com:
citation:
[...]
Audible introduced one of the first digital audio players in 1997.
The following year it published a Web site from which audio files in its
proprietary .aa format could be downloaded. Audible holds a number of patents
in this area.
[...]
Résumé: brevets propriétaires/
4
Ce site fournit plus d'informations sur l'endroit où certains morceaux de données résident dans le fichier .aa.
Questions connexes
- 1. compresseur de fichier audio et vidéo
- 2. Java - fichier audio wav de sous-échantillonnage
- 3. Spécification de la clé machine dans le fichier web.config
- 4. Spécification du chemin d'accès Java pour le fichier de propriétés
- 5. Spécification d'un nom de fichier pour PDF dynamique dans asp.net
- 6. AVAudioPlayer, Catégories de session audio et verrouiller
- 7. Expression régulière: Correspond à (aa | bb) (cc)?
- 8. Bloat de fichier audio dans Adobe Flash CS4
- 9. Comment obtenir bitrate de fichier audio dans le cacao
- 10. Rechercher si un fichier audio est en cours de lecture
- 11. Spécification MVC
- 12. Exemple de modèle de spécification
- 13. Extraction de fonction audio
- 14. Équivalent audio de QTMovieView?
- 15. Flux audio multiples dans un fichier MPEG-4
- 16. Comment lire un fichier audio en boucle sans interruption?
- 17. iPhone - truc "silence" au début d'un fichier audio
- 18. JavaSound écrit dans un fichier audio avec un flux
- 19. Utiliser MPlayer pour déterminer la longueur du fichier audio/vidéo
- 20. Lire un fichier audio et revenir à la page
- 21. Audible "clic" dans IE lors de l'utilisation de l'événement jQuery .click() et <a href='#'/>
- 22. audio sur iPhone
- 23. Tomcat: lecture audio
- 24. Interface utilisateur Spécification
- 25. MPMoviePlayer Audio Album art
- 26. Utiliser jQuery tablesorter pour trier les dates mm/aa
- 27. Conversion audio C#
- 28. Qu'est-ce qui pourrait empêcher la création d'un fichier de spécification de gem?
- 29. Spécification de la structure d'un fichier XML sérialisé à l'aide de DataContractSerializer
- 30. Bibliothèque de détection audio Bpm
goldwave (www.goldwave.com) pouvait les lire, mais je pense qu'on leur a dit d'arrêter, DRM – kjack
oohh ... hhmmmm qui aspire ... – Adam