2

我使用以下代码在我的网站中添加音乐播放器,

<div id="player" style="z-index:100;"></div><!--Player-->

<script language="javascript" type="text/javascript">

var so = new SWFObject("flashmp3player.swf", "player", "242", "150", "9"); // Location of swf file. You can change player width and height here (using pixels or percents).
so.addParam("quality", "high");
so.addParam("wmode", "opaque");
so.addVariable("content_path","<? echo $playerpath; ?>");
so.addVariable("color_path","default.xml");
so.addVariable("script_path","flashmp3player.php");
so.write("player");

</script>

播放器将播放文件夹$playerpath(例如:父文件夹/子文件夹)中的 MP3 文件。但我不希望访问者下载 MP3 文件。但是,在系统中安装了 Internet 下载管理器的用户在每首歌曲播放时都会在左下角看到一个图标。每当他们单击该图标时,歌曲就会被下载。如何防止这种情况?

参考下图

4

1 回答 1

3

这是您将裸 MP3 文件发送到客户端这一事实所固有的。试图阻止这种情况,就像试图阻止人们通过阻止他们右键单击页面的能力来窃取您的图像一样。这个“Internet 下载管理器”很可能会看到从浏览器发出的 MP3 文件请求,如下所示:

GET /my_aweseome_file.mp3 HTTP/1.1

此时,它会说,“嘿,用户的浏览器正在加载 MP3,让我们下载吧”。因此,如果您想防止这种情况发生,请不要让客户端请求 MP3 文件。如果您只想播放它们,您可以将它们存储在 Flash 文件或其他文件中,或者甚至从Icecast服务器流式传输它们。但请记住,在某些时候,必须听到音频,就像必须看到前面提到的图像一样,并且在某些时候能够捕获该音频或该图像以进行存储。

于 2012-06-22T15:01:28.800 回答