是否可以在不提供文件的完整路径
的情况下流式传输音频文件。
例如,每当我们尝试使用 HTML5 音频标签或使用 javascript 播放 mp3
文件时,我必须像这样提供 mp3 文件的完整路径
<audio controls>
<source src="http://example.com/file/hello_name.mp3" type="audio/mpeg">
</audio>
所以,我认为我们可以提供 mp3 文件的 id
而不是文件的 complete path
应该是这样的:
<audio controls>
<source src="http://example.com/stream.php?file_id=111" type="audio/mpeg">
</audio>
最佳答案
您的 stream.php 文件将如下所示:
<?php
// Say you hava a table "file_paths" with two columns file_id and file_path
$sql = $pdo->prepare("SELECT FROM file_paths WHERE file_id = ?");
$sql->bindValue(1, $_GET['file_id'], PDO::PARAM_INT);
$sql->execute();
$fetch = $sql->fetchObject();
// retrieve file path using its id
$path = $fetch->file_path;
header("Location: " . $path);
?>
然后在目标页面上,通过将 file_id 传递给 stream.php 来添加播放器,如下所示:
<audio controls>
<source src="stream.php?file_id=123" type="audio/mpeg">
</audio>
关于javascript - 如何在不提供绝对路径的情况下流式传输音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33651883/