我正在尝试从基于centOS的服务器流式传输mp3文件,我已将文件上传到服务器并尝试在AvPlayer中打开它,但实际上它下载并播放它,当我在浏览器中打开相同的链接时它能够要流式传输文件,它会在5秒内开始播放。 有没有任何解决方案可以使用swift在iOS应用程序中做同样的事情?
答案 0 :(得分:0)
在我的情况下,我使用php来表示IOS应用程序将通过stream.php播放mp3文件:
<?php
set_time_limit(0);
$filePath = $dirPath . "/songname.mp3";
$strContext=stream_context_create(
array(
'http'=>array(
'method'=>'GET',
'header'=>"Accept-language: en\r\n"
)
)
);
$fpOrigin=fopen($filePath, 'rb', false, $strContext);
header('Content-Disposition: inline; filename="songname.mp3"');
header('Pragma: no-cache');
header('Content-type: audio/mpeg');
header('Content-Length: '.filesize($filePath));
while(!feof($fpOrigin)){
$buffer=fread($fpOrigin, 4096);
echo $buffer;
flush();
}
fclose($fpOrigin);
然后我将网址传递给swift:http://domain/stream.php