Rumah >pembangunan bahagian belakang >tutorial php >Bolehkah PHP Mengekstrak Maklumat Trek daripada Strim Audio?
Menarik Maklumat Trek dari Strim Audio Menggunakan PHP
Menentukan sama ada ia boleh dilakukan untuk mengekstrak maklumat trek daripada aliran audio menggunakan PHP membawa kita kepada fungsi stream_get_transports. Walau bagaimanapun, bagi mereka yang menghadapi had sokongan untuk pengangkutan HTTP melalui fsockopen(), kaedah alternatif memerlukan penerokaan.
Menyelidiki Pengekstrakan Metadata
Nasib baik, mengekstrak maklumat trek daripada strim audio adalah mungkin, terutamanya dalam kes strim SHOUTcast. Operasi ini berbeza daripada mengekstrak teg ID3 dan memerlukan pendekatan yang unik.
Mewujudkan Sambungan
Sambung terus ke pelayan melalui fsockopen(), dengan menyatakan port yang sesuai (cth. , port 80). Berkomunikasi dengan pelayan menggunakan permintaan HTTP dan sertakan pengepala Icy-MetaData:1 untuk meminta metadata.
Memahami Selang Meta
Pelayan akan bertindak balas dengan pengepala yang mengandungi nilai icy-metaint, yang menunjukkan selang meta. Selang ini menentukan kekerapan paket metadata dalam strim.
Membaca dan Menghuraikan Metadata
Buang 8192 bait data MP3, kemudian baca bait pertama, yang menandakan panjang paket metadata. Darabkan nilai bait ini dengan 16 untuk menentukan bilangan bait untuk dibaca bagi metadata.
Memisahkan dan Mendapatkan Maklumat
Pangkas rentetan metadata untuk mengalih keluar padding. Menghuraikan rentetan, membelahnya pada ";" pembatas, untuk mengekstrak maklumat seperti tajuk lagu dan URL strim.
Sumber Pilihan
Untuk bantuan lanjut dengan pengambilan metadata SHOUTcast, rujuk sumber luaran seperti https://web.archive.org/web/20191121035806/http://www.smackfu.com/stuff/programming/shoutcast.html.
Atas ialah kandungan terperinci Bolehkah PHP Mengekstrak Maklumat Trek daripada Strim Audio?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!