【发布时间】:2017-08-28 13:20:17
【问题描述】:
我正在尝试从 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 中显示了音频播放器,但没有声音开始播放。
【问题讨论】:
-
您应该尝试自己编写代码。在doing more research 之后,如果您有问题发布您尝试过的方法,并清楚地解释什么不起作用,并提供a Minimal, Complete, and Verifiable example。阅读How to Ask 一个好问题。请务必take the tour 并阅读this。
-
@phil1283 我建议你删除这个问题并重新发布你在那里得到的内容。我已经用 PHP 完成了这项工作,但如果您的问题被搁置,我无法回答。
-
@VC.One 我设置了一个新问题,然后将删除这个问题:stackoverflow.com/questions/45961486/…
-
@phil1283 好的,我已经看到另一个,会尽快回复。