【发布时间】:2017-08-30 13:14:39
【问题描述】:
我正在尝试从 http 的无线电流 (MP3) 中获取数据,并希望在 https 中将其流式传输出来。 这是我尝试过的:
<?php
define(URL, 'Mymp3stream.com');
$ch = curl_init(URL);
curl_setopt_array($ch, array(
CURLOPT_CONNECTTIMEOUT => 60,
CURLOPT_FOLLOWLOCATION => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HEADER => TRUE
));
curl_exec($ch);
我怎样才能让它流式传输? 浏览器不会启动任何音频输出。 即使有标题
header('Content-type: audio/mpeg');
header("Content-Transfer-Encoding: binary");
header("Pragma: no-cache");
浏览器中没有音频。 页面一直在加载。
我还尝试将流读入字符串缓冲区并使用:
$stream=fopen($url, 'rb');
while(!feof($stream)){
$buffer=fread($stream, 128);
echo $buffer;
flush();
}
fclose($stream);
另一个尝试是在使用 fopen 打开文件后使用 get_stream_content。 添加标题后有一个小成功: 在 Chrome 中显示了音频播放器,但没有声音开始播放。
【问题讨论】:
-
PS: 你有链接到
Mymp3stream.com来检查吗?我刚刚看到我的方法涉及了解正在提供的 mp3 数据的 url(可以尝试为您查找)。我用PHP做代理,实现广播流的可视化。 -
@VC.One:感谢您的帮助,这是我们当地广播电台的示例流:mp3channels.webradio.antenne.de:80/antenne
-
如果我的回答对你有用,请告诉我。