Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit PHP Titelmetadaten aus einem AOL-Audiostream extrahieren?
Titelinformationen aus einem Audiostream über PHP abrufen
Das Extrahieren von Titelmetadaten aus einem Audiostream mit PHP ist tatsächlich möglich. Bei der Erkundung potenzieller Optionen erwies sich stream_get_transports als potenzieller Kandidat, aber seine Abhängigkeit von fsockopen() für HTTP-Transporte erfordert möglicherweise weitere Untersuchungen.
Für den speziellen Fall des Abrufens von Künstler- und Titeldetails aus einem AOL-Stream ein weiteres Direkter Ansatz ist notwendig. So erreichen Sie es:
1. Direkte Serververbindung herstellen:
Stellen Sie mithilfe von fsockopen() eine direkte Verbindung zum Server her, anstatt sich auf HTTP zu verlassen. Die meisten von AOL gehosteten SHOUTcast-Streams laufen auf Port 80, Sie können diesen also nutzen.
2. Metadatenanfrage senden:
Erstellen Sie eine Anfrage ähnlich der, die ein Kunde stellen würde, fügen Sie jedoch den Header „Icy-MetaData:1“ hinzu, um Ihren Wunsch nach Metadaten anzugeben. Beenden Sie die Anfrage mit einem Paar Wagenrückläufen und Zeilenvorschüben.
3. Metaintervall lesen:
Suchen Sie in den Antwortheadern des Servers den Header „icy-metaint“. Sein Wert, normalerweise 8192, stellt das Metaintervall dar. Dieser Wert bestimmt das Intervall zwischen Metadatenblöcken.
4. Binäre Metadaten verarbeiten:
Verwerfen Sie 8192 Bytes MP3-Daten und greifen Sie auf das nachfolgende Byte zurück. Multiplizieren Sie den Wert mit 16, um die Länge der Metadaten zu ermitteln. Lesen Sie diese Anzahl an Bytes, um die Metadaten zu erhalten.
5. Metadaten zuschneiden und analysieren:
Zuschneiden Sie die abgerufene Metadatenzeichenfolge, um alle nachgestellten Nullzeichen zu entfernen. Sie erhalten eine Zeichenfolge mit Metadateninformationen, z. B. „Stream
Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP Titelmetadaten aus einem AOL-Audiostream extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!