我在IE和Chrome中播放MP3时遇到了一些问题(在Firefox中运行正常)
我们有一个语音信箱服务器。 Web应用程序通过将其转换为MP3来流式传输wav文件(使用蹩脚,不是很好,但我们必须这样做,因为星号的限制),然后将内容输出为二进制流。
header("Content-Type: audio/mpeg");
header("Content-Transfer-Encoding: binary");
header('X-Pad: avoid browser bug');
header('Cache-Control: no-cache');
$file->readFromInbox($f);
我们使用的MP3音频播放器是:http://wpaudioplayer.com/standalone/
如果文件(我认为)的大小小于100k,则音频流正常并且MP3闪光音频播放器状态栏会更新(秒数会上升,并且条形移动)。
但是,如果文件大于100k,则存在问题。音频在IE7 / 8和Chrome中播放,但状态栏不会改变。即使正在播放音频,它仍继续说“正在连接...”。奇
在Firefox中,我没有问题。
可能是什么问题?为什么firefox没有任何问题,但IE和Chrome?我是否需要指定要流式传输的文件的大小? (这是不可能的,因为文件正在被动转换并且由于passthru命令而被直接输出)
谢谢你们!
答案 0 :(得分:0)
首先转换文件并将其存储为临时文件。然后将该文件与Content-Length标头一起发送。
使用以下命令创建临时文件:
$tempfile = tempnam('/tmp','mp3')