ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して AOL オーディオ ストリームからトラック メタデータを抽出するにはどうすればよいですか?

PHP を使用して AOL オーディオ ストリームからトラック メタデータを抽出するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-10 17:29:18245ブラウズ

How Can I Extract Track Metadata from an AOL Audio Stream Using PHP?

PHP 経由でオーディオ ストリームからトラック情報を取得する

PHP を使用してオーディオ ストリームからトラック メタデータを抽出することは確かに可能です。潜在的なオプションを検討しているときに、stream_get_transports が候補として浮上しましたが、HTTP トランスポートの fsockopen() への依存関係については、さらなる調査が必要になる可能性があります。

AOL ストリームからアーティストとトラックの詳細を取得する特定のケースについては、直接的なアプローチが必要です。これを達成する方法は次のとおりです:

1.サーバーへの直接接続の確立:
HTTP に依存する代わりに、fsockopen() を使用してサーバーへの直接接続を確立します。 AOL がホストする SHOUTcast ストリームのほとんどはポート 80 で動作するため、それを利用できます。

2.メタデータ リクエストの送信:
クライアントが行うものと同様のリクエストを作成しますが、メタデータの要求を示すために「Icy-MetaData:1」ヘッダーを追加します。リクエストは復帰と改行のペアで終了します。

3.メタ読み取り間隔:
サーバーの応答ヘッダーで、「icy-metaint」ヘッダーを見つけます。その値 (通常は 8192) はメタ間隔を表します。この値はメタデータ チャンク間の間隔を決定します。

4.バイナリ メタデータの処理:
8192 バイトの MP3 データを破棄し、後続のバイトを取得します。メタデータの長さを確認するには、その値を 16 倍します。そのバイト数を読み取ってメタデータを取得します。

5.メタデータのトリミングと解析:
取得したメタデータ文字列をトリミングして、末尾の null 文字を削除します。 「Stream

」などのメタデータ情報を含む文字列が残ります。

以上がPHP を使用して AOL オーディオ ストリームからトラック メタデータを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。