编程语言
首页 > 编程语言> > php-如何检测是否存在icecast / shoutcast流?

php-如何检测是否存在icecast / shoutcast流?

作者:互联网

网站上有5个信息流.我需要检测这些流是否存在.如果不是,则有一些音频文件要播放.

我正在使用html5播放流,流URL如下所示:

http://locus.creacast.com:9001/StBaume_grotte.ogg

我尝试了不同的方法,但似乎没有用.永远不会检测到流.

解决方案1:
在这里,我只是试图检查文件是否存在.

if (file_exists($stream_1)) {
             $debug_output_stream_1 = "Le fichier $stream_1 existe.";
             $erreur_404_Stream_1 = true;  
        } else {
             $debug_output_stream_1 =  "Le fichier $stream_1 n'existe pas.";
             $erreur_404_Stream_1 = false;  
        }

解决方案2:
我尝试检测到404错误

 $file_headers_1 = @get_headers($stream_1);
        if($file_headers_1[0] == 'HTTP/1.1 404 Not Found') {
            $debug_output_stream_1 = "StBaume_sommet.ogg : L'URL n'existe pas.";
            $erreur_404_Stream_1 = true;  
        }
        else {
            $debug_output_stream_1 = "StBaume_sommet.ogg : L'URL existe.";
            $erreur_404_Stream_1 = false;
        }

您知道如何检查流是否存在吗?

解决方法:

您正在检查整个状态行,包括HTTP版本HTTP / 1.1.大多数服务器返回HTTP / 1.0.您只需要检查状态码.

if (strpos($file_headers_1[0], '200 OK') === false) {
    // error occurred
}

标签:shoutcast,audio-streaming,icecast,audio,php
来源: https://codeday.me/bug/20191031/1973528.html