HTML:如何防止在embed标签中使用下载的mp3文件

时间:2013-01-15 06:59:37

标签: asp.net html html5-audio

我正在使用embed标签在我的网络上播放背景音乐。它在IE上工作正常,但在Mozilla和Chrome上下载。这将是什么工作?

我的标签是

 <embed 
    src="http://www.abc.com/xyz.mp3" 
    autostart="true" 
    loop="true" 
    hidden="true"/>

我尝试了HTML <audio>标记但页面停止响应。

请注意,我的mp3文件位于某个远程服务器上,而不是我的网站目录。

3 个答案:

答案 0 :(得分:0)

这不是最好的方法,但是你遇到的具体问题可能与存储你的mp3文件的服务器有关。如果它使用http标头Content-Disposition将文件内容发送到客户端,它可以实现这一点。请在here查看 19.5.1内容处理部分,基本上它会告诉浏览器直接下载文件但不能打开它。

为验证这一点,您可以使用Fillder之类的工具,看看该mp3文件请求的响应是什么样的。

要解决此问题,您可能需要找出一种方法,不让该服务器发送Content-Disposition标头,或者更改为使用其他内容服务器,不要发送Content-Disposition标头。

答案 1 :(得分:0)

为什么不起诉<audio>标签,这是现在相当标准的?

认为大多数浏览器都会根据编解码器的可用性找到支持mp3的方法。

答案 2 :(得分:0)

正如Aristos评论你可以使用flash播放器作为流动播放器

<a id="mb" style="display:block;width:648px;height:30px;"
href="/media/data/fake_empire.mp3"></a>

<script>
$f("mb", "http://releases.flowplayer.org/swf/flowplayer-3.2.15.swf", {

// fullscreen button not needed here
plugins: {
    controls: {
        fullscreen: false,
        height: 30,
        autoHide: false
    }
},

clip: {
    autoPlay: false,
    // optional: when playback starts close the first audio playback
    onBeforeBegin: function() {
        $f("player").close();
    }

}

});
</script>

http://flash.flowplayer.org/plugins/streaming/audio.html

音频标签仅适用于“新”浏览器

...

<audio src="http://xxxx/xxxx/xxx.mp3" autoplay="autoplay" />

...

如果没有,您将不得不通过javascript检查哪个浏览器正在运行并做出相应的反应