J'utilise Matt Gallagher's AudioStreamer pour lire des MP3 sur HTTP. J'ai besoin de connaître la durée de la chanson et les tags ID3. Est-il possible de l'implémenter dans l'AudioStreamer, et comment?Get MP3 ID3 méta-données et la durée du morceau en utilisant AudioStreamer
Répondre
De son Docs:
Portée limitée
Un point doit être clarifié avant de poursuivre: cette classe est destiné pour le streaming audio. En streaming, je ne veux pas dire simplement "un fichier audio transféré via HTTP". Au lieu de cela, je veux dire une source continue HTTP sans fin qui continue indéfiniment (comme une station de radio, pas une seule chanson).
Ceci semble impliquer que l'obtention de la durée peut être difficile.
Voici comment obtenir les tags ID3v2:
Get métadonnées
La source la plus simple de métadonnées provient des en-têtes HTTP. A l'intérieur du handleReadFromStream: eventType: méthode , utilisez CFReadStreamCopyProperty pour copier le kCFStreamPropertyHTTPResponseHeader propriété du CFReadStreamRef, vous pouvez alors utiliser CFHTTPMessageCopyAllHeaderFields pour copier les champs d'en-tête de la réponse . Pour de nombreux serveurs audio en streaming , le nom du flux est l'un des champs .La source considérablement plus difficile des métadonnées sont les étiquettes ID3. ID3v1 est toujours à la fin du fichier (donc est inutile en streaming). ID3v2 est situé au début, donc peut être plus accessible.
J'ai jamais lu les balises ID3 mais je soupçonne que si vous mettez en cache les premiers quelques centaines de kilo-octets du fichier quelque part comme il charge, ouvrir ce cache avec AudioFileOpenWithCallbacks et a ensuite lu la kAudioFilePropertyID3Tag avec AudioFileGetProperty vous pouvez être capable de lire les données ID3 (s'il existe ). Comme je l'ai dit cependant: je n'ai jamais vraiment fait cela donc je ne sais pas avec certitude que cela fonctionnerait.
Les flux MP3 sont divisés en «trames» qui sont des unités de données uniques. Certains flux ajoutent un bloc de métadonnées ID3 à quelques images que vous pouvez théoriquement analyser et lire.
Voir ici pour plus d'informations: http://jicyshout.sourceforge.net/oreilly-article/java-streaming-mp3-pt2/java-streaming-mp3-pt2.html
- 1. Err .. Durée du morceau?
- 2. extraire la durée du fichier mp3 en utilisant AudioQueueServices
- 3. Ruby mp3 Id3 analyse
- 4. durée d'un fichier mp3
- 5. Afficher/modifier les données ID3 pour les fichiers MP3
- 6. calcul du temps la durée d'un fichier
- 7. Trouver la longueur MP3 en C#
- 8. Lecture des informations MP3 en utilisant l'objectif c
- 9. Comment diffuser du mp3 en Java pur
- 10. comment obtenir la durée du fichier vidéo en C#
- 11. Incorporation de métadonnées arbitraires dans des fichiers audio et vidéo
- 12. NetStream Chargement d'informations ID3 à partir d'un flux dans FMS
- 13. Comment extraire le timecode de début et les métadonnées durée/longueur d'un fichier .mov?
- 14. Comment obtenir la taille de fichier non compressé d'un fichier MP3 en utilisant CoreAudio API
- 15. Balises MP3 et OGG en PHP
- 16. Conversion de chaîne en durée et retour
- 17. Flex métadonnées du compilateur "DefaultProperty"
- 18. Métadonnées JQuery, SVG et Visio
- 19. Adobe Flash et licence mp3
- 20. Durée du storyboard coupant l'animation
- 21. En utilisant XQuery/Modifier pour remplacer un morceau de mon XML avec la valeur du champ varchar
- 22. Jouer du mp3 avec Python, PyQt et Phonon
- 23. Comment récupérer les paramètres de la méthode HTTP GET en utilisant javax.ws.rs. * Et Glassfish?
- 24. Métadonnées tiff et EXIF multipart
- 25. Durée d'exécution du journal/graphique PHP
- 26. longueur mp3 en millisecondes
- 27. C# et mp3 fade in/out
- 28. Déconnecter la connexion URL en fonction de la taille ou de la durée du fichier - Java
- 29. Accéder à la balise BPM ID3 dans iPhone OS 3.0
- 30. Comment limiter la durée d'une installation d'essai avec la date et l'heure du BIOS avec C#?