php - 下载的 WAV 文件无法播放

标签 php wav download

我正在从我的远程服务器 (Centos 5.8) 下载一个 WAV 文件。使用以下 PHP 脚本:

header('Content-Description: File Transfer');
header('Content-Type: audio/x-wav');
header('Content-Disposition: attachment; filename=' . basename($realLink));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($realLink));
ob_clean();
flush();
readfile($realLink);

当我尝试使用 Windows Media Player 或 Itunes 播放下载的文件时,它无法播放。即使我本地计算机上下载的 WAV 文件大小与服务器上的文件版本相同,下载文件的属性显示 00:00 长度并且无法播放。此外,如果我使用 ftp 手动下载文件,文件下载和播放也很好。明显的损坏仅在我使用上述脚本下载时发生。我将不胜感激任何帮助。

最佳答案

以下是 WAV 的有效 MIME 类型:

audio/vnd.wave
audio/wav
audio/wave
audio/x-wav

您正在使用 application/x-wav。参见 herehere供引用。

关于php - 下载的 WAV 文件无法播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14447207/

相关文章:

PHP:解码 Html 实体

python - 按时间戳分解 .wav 文件

c# - 使用 NAudio 更改 wav 文件(到 16KHz 和 8bit)

iphone - 关于使用 ASIHttpRequest 下载文件

iphone - 如何在 iOS 中下载多个背景视频?

php - 在外部 API 调用上将 PhpStorm 连接到 Xdebug

php - 如何阻止 PHPUnit 发出捕获异常的堆栈跟踪?

Perl 脚本来向后测试所有可能的日期

javascript - 当鼠标悬停在图像上时 onmouseover 失败

java - 如何在 Android 设备上将 WAV 编码为 mp3