PHP를 사용하여 오디오 스트림에서 트랙 정보 가져오기
PHP를 사용하여 오디오 스트림에서 트랙 정보를 추출하는 것이 가능한지 확인하면 stream_get_transports 함수에. 그러나 fsockopen()을 통한 HTTP 전송에 대한 지원 제한에 직면한 경우 대체 방법을 탐색해야 합니다.
메타데이터 추출 탐구
다행히도 특히 SHOUTcast 스트림의 경우 오디오 스트림이 가능합니다. 이 작업은 ID3 태그 추출과 다르며 고유한 접근 방식이 필요합니다.
연결 설정
fsockopen()을 통해 서버에 직접 연결하고 적절한 포트(예: , 포트 80). HTTP 요청을 사용하여 서버와 통신하고 Icy-MetaData:1 헤더를 포함하여 메타데이터를 요청합니다.
메타 간격 이해
서버는 다음을 포함하는 헤더로 응답합니다. 메타 간격을 나타내는 icy-metaint 값입니다. 이 간격은 스트림 내 메타데이터 패킷의 빈도를 결정합니다.
메타데이터 읽기 및 구문 분석
8192바이트의 MP3 데이터를 삭제한 다음 첫 번째 바이트를 읽습니다. 메타데이터 패킷의 길이입니다. 이 바이트 값에 16을 곱하여 메타데이터에 대해 읽을 바이트 수를 결정합니다.
정보 분할 및 검색
메타데이터 문자열을 잘라 패딩을 제거합니다. 문자열을 구문 분석하고 ";"에서 분할합니다. 구분 기호를 사용하여 트랙 제목 및 스트림 URL과 같은 정보를 추출합니다.
선택 리소스
SHOUTcast 메타데이터 검색에 대한 추가 지원은 다음과 같은 외부 리소스를 참조하세요. https://web.archive.org/web/20191121035806/http://www.smackfu.com/stuff/programming/shoutcast.html.
위 내용은 PHP가 오디오 스트림에서 트랙 정보를 추출할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!