Extraire des informations sur une piste à partir d'un flux audio via PHP
Extraire des métadonnées de piste à partir d'un flux audio à l'aide de PHP est en effet possible. Lors de l'exploration des options potentielles, stream_get_transports est apparu comme un candidat potentiel, mais sa dépendance à fsockopen() pour les transports HTTP peut nécessiter une enquête plus approfondie.
Pour le cas spécifique de la récupération des détails de l'artiste et de la piste à partir d'un flux AOL, un plus une approche directe est nécessaire. Voici comment y parvenir :
1. Établir une connexion directe au serveur :
Établissez une connexion directe au serveur à l'aide de fsockopen() au lieu de vous fier à HTTP. La plupart des flux SHOUTcast hébergés par AOL fonctionnent sur le port 80, vous pouvez donc l'utiliser.
2. Envoyer une demande de métadonnées :
Créez une demande similaire à celle qu'un client ferait, mais ajoutez l'en-tête "Icy-MetaData:1" pour indiquer votre désir de métadonnées. Terminez la demande avec une paire de retours chariot et de sauts de ligne.
3. Lire Meta Interval :
Dans les en-têtes de réponse du serveur, localisez l'en-tête "icy-metaint". Sa valeur, généralement 8 192, représente l'intervalle méta. Cette valeur déterminera l'intervalle entre les morceaux de métadonnées.
4. Traitez les métadonnées binaires :
Supprimez 8 192 octets de données MP3 et récupérez l'octet suivant. Multipliez sa valeur par 16 pour connaître la longueur des métadonnées. Lisez ce nombre d'octets pour obtenir les métadonnées.
5. Couper et analyser les métadonnées :
Coupez la chaîne de métadonnées récupérée pour éliminer tous les caractères nuls de fin. Vous vous retrouverez avec une chaîne contenant des informations de métadonnées, telles que « Stream
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!