ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して AOL オーディオ ストリームからトラック メタデータを抽出するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。