Heim >Backend-Entwicklung >PHP-Tutorial >Kann PHP Titelinformationen aus AOL SHOUTcast-Streams extrahieren?
Titelinformationen aus Audiostreams mit PHP abrufen
Problem:
Ist das machbar? Titeldetails aus einem Audiostream mit PHP extrahieren, insbesondere aus einem AOL-Stream? Trotz der Erkundung der verfügbaren PHP-Funktionen ist eine praktikable Lösung immer noch schwer zu finden.
Antwort:
Identifizierung des Stream-Typs
Die bereitgestellten Stream ist ein SHOUTcast-Stream, der über einen eigenen Mechanismus zur Übertragung von Metadaten verfügt. Es ist unabhängig von ID3-Tags.
Herstellen einer direkten Verbindung
Um eine direkte Verbindung mit dem Server herzustellen, verwenden Sie fsockopen() und stellen Sie sicher, dass Sie den richtigen Port angeben (normalerweise). 80 für von AOL gehostete Streams).
Senden der Anfrage
Konstruieren Sie die Anfrage wie folgt:
GET /whatever HTTP/1.0 Icy-MetaData:1
Abrufen des Metaintervalls
Untersuchen Sie die Antwortheader auf den icy-metaint Wert. Dies gibt das Intervall an, in dem Metadaten gesendet werden.
Dekodierung der Metadaten
Nachdem Sie 8192 Bytes MP3-Daten empfangen haben, lesen Sie das nächste Byte. Dies kennzeichnet den Beginn der Metadaten und gibt deren Länge an. Multiplizieren Sie diesen Wert mit 16, um die Anzahl der zu lesenden Bytes zu bestimmen.
Schneiden Sie die resultierende Zeichenfolge ab, um nachgestellte Nullen zu entfernen. Die resultierende Zeichenfolge enthält Metadaten im folgenden Format:
Das obige ist der detaillierte Inhalt vonKann PHP Titelinformationen aus AOL SHOUTcast-Streams extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!