Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将音频源转换为“a”;“使用一次”;斑点_Javascript_Php_Html - Fatal编程技术网

Javascript 将音频源转换为“a”;“使用一次”;斑点

Javascript 将音频源转换为“a”;“使用一次”;斑点,javascript,php,html,Javascript,Php,Html,因此,我想让用户从服务器直接下载MP3文件(只需直接转到源代码的URL)。我一直在四处寻找,从我收集的信息来看,一个很好的方法是将音频对象转换为一次使用Blob(类似于YouTube的方式) 例如,类似以下内容: <!-- directly accessible, unobfuscated url --> <audio src="www.mywebsite.com/media.mp3"></audio> 现在我正在查看答案(以及其他几个),但它们都涉及到使

因此,我想让用户从服务器直接下载MP3文件(只需直接转到源代码的
URL
)。我一直在四处寻找,从我收集的信息来看,一个很好的方法是将
音频
对象转换为一次使用
Blob
(类似于YouTube的方式)

例如,类似以下内容:

<!-- directly accessible, unobfuscated url -->
<audio src="www.mywebsite.com/media.mp3"></audio> 
现在我正在查看答案(以及其他几个),但它们都涉及到使用从
输入中选择的文件,或者,正如这一个,使用该文件作为
Base64
字符串,并将其转换为
Blob
,我不知道该怎么做,想象一下在客户端这是一项有点繁重的任务

基本上,我所需要做的就是将
url
转换为一个
Blob
,该Blob只能在该会话中使用一次(不能在另一个选项卡中直接访问,例如,仅在播放该选项卡时使用)


注意:我标记了
PHP
,因为这可能也是一个服务器端问题,如有必要,请随意更正。

您不能将地址“blob”为源地址。阅读。@MarkusZeller我知道,你只能在
对象上滴一滴。我只是好奇如何做到这一点,并确保它只使用一次:)你不能“blob”一个地址作为源。阅读。@MarkusZeller我知道,你只能在
对象上滴一滴。我只是好奇如何做到这一点,并确保它只使用一次:)
<!-- visiting the link would lead to a 'your file was not found' page
     and the original url is now obfuscated -->
<audio src="blob:http://www.mywebsite.com/6fc4f9d2-035a-4999-b330-96da04c0f6a8"></audio>
var url = "http://www.mywebsite.com/media.php"; // media.php points to an mp3 file
var audio = null; // just for simplicity sake - i'm not actually doing it like this
if(!audio){
    audio = new Audio(url);
} else {
    audio.pause();
    audio.src = url;
}