Extraire des informations de piste à partir de flux audio à l'aide de PHP
Problème :
Est-il possible de extraire les détails de la piste d'un flux audio à l'aide de PHP, en particulier d'un flux AOL ? Malgré l'exploration des fonctions PHP disponibles, une solution viable reste insaisissable.
Réponse :
Identification du type de flux
Le stream est un flux SHOUTcast, qui possède son propre mécanisme de transmission de métadonnées. Il est indépendant des balises ID3.
Établissement d'une connexion directe
Pour établir une connexion directe avec le serveur, utilisez fsockopen(), en veillant à spécifier le bon port (généralement 80 pour les flux hébergés par AOL).
Envoi du Requête
Construisez la requête comme suit :
GET /whatever HTTP/1.0 Icy-MetaData:1
Récupération du méta-intervalle
Examinez les en-têtes de réponse pour le icy-metaint valeur. Ceci indique l'intervalle auquel les métadonnées sont envoyées.
Décodage des métadonnées
Après avoir reçu 8192 octets de données MP3, lisez l'octet suivant. Cela signifie le début des métadonnées et indique leur longueur. Multipliez cette valeur par 16 pour déterminer le nombre d'octets à lire.
Coupez la chaîne résultante pour supprimer les zéros à droite. La chaîne résultante contiendra des métadonnées au format suivant :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!