php - HTML5音频元素

标签 php javascript html audio html5-audio

我想从动态链接播放MP3

我正在使用此代码发送mp3而不是直接链接:

PHP方面:

$filename = "jadi.mp3";
$mime_type = "audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3";
if (is_file($filename)) {

    header("Content-Type: {$mime_type}");
    header('Content-length: ' . filesize($filename));
    header("Content-Disposition: attachment;filename = jadi.mp3");
    header('X-Pad: avoid browser bug');
    header('Cache-Control: no-cache');
    header("Content-Transfer-Encoding: binary");
    $fd = fopen($filename, "r");
    while (!feof($fd)) {
        echo fread($fd, 1024 * 200);
    }
    fclose($fd);
    exit();
}

HMLL侧:
<audio controls>
    <source src="http://localhost/music.php" type="audio/mpeg"  preload="auto">
    Your browser does not support the audio element.
</audio>

但是浏览器无法播放,我对WAV文件没有问题,但是对于mp3,它不起作用

如果我使用直接链接而不是php脚本没有问题,那么我的浏览器可以支持MP3

谢谢

最佳答案

如果仅运行PHP脚本,则浏览器应能够立即下载MP3文件。

如果这不起作用,则说明您的PHP脚本存在一些问题。

关于php - HTML5音频元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18426512/

相关文章:

javascript - 如何设置图像以根据两个不同的单选按钮更改源?

php - 选择前几个月的数据 - MySQL

PHP 似乎执行脚本两次

php - MySql - 使用 IF 和 JOIN 插入

javascript - 如果链接处于事件状态,则 React-router/CSS 没有悬停样式

javascript - 如何使用jquery将div加载到html中

php - Laravel:运行 phpunit 测试后删除了数据库表

javascript - 如何使用元素名称检查元素在 Javascript 中是否可见?

html - 如何在右上角正确放置 Bootstrap 指示器?

html - 一旦屏幕尺寸改变,就停止在彼此下方显示 html 按钮