在JSP中播放音频文件

3

1) 在Java中,有没有一种方法可以从FTP流式传输音频文件到我的JSP页面?

2) 如何在JSP中播放音频文件,而不会让客户端浏览器下载音频文件(如实时流)- 临时互联网文件。

请提供一些代码示例。


这不是Java或JSP问题,更多的是HTML问题。我正在重新标记它。 - Erick Robertson
2个回答

4

从文件中流式传输音频与JSP本身无关。

您想使用HTML标记将音频文件嵌入页面。您可以直接这样做:

<embed src="audiofile.mp3">

你可以使用Flash电影作为音频播放器,或者查找JavaScript库来构建更加炫酷的东西。通过这个页面学习有关各种方法的信息。

JSP可以提供音频文件名和其他选项,但这就是它所需做的一切——其余的由普通的HTML标签处理。

你可以通过搜索“嵌入”和“音频”这些关键词在网上找到更多信息。


2
如果您已经使用HTML5,则只需使用<audio>元素。请参阅HTML Dog教程
<audio src="file.wav" controls="true" />

如果你还没有使用HTML5,网页中的音频通常可以通过HTML <embed>元素(使用平台默认播放器)或HTML <object>元素(在其中您可以指定更具体的播放器,Web浏览器最终可以自动下载必要的插件软件)来包含。
<object data="file.wav" />

无论哪种方式,它都应该指向一个返回音频流的URL。这可以是公共网络内容中的静态文件,与JSP文件放在一起。例如:http://example.com/context/file.wav。但是当音频文件存储在公共网络内容之外或数据库中时,您希望通过Servlet进行流传输。基本上只需获取其InputStream(使用例如FileInputStream),然后沿着正确的一组响应头将其写入响应的OutputStream
需要注意的是,在这个特定的问题中,JSP不相关。它只是提供了一种视图技术,提供了一个模板来编写HTML并将其发送到Web浏览器。
话虽如此,播放音频的网站通常被认为很烦人,并且通常会吓跑访问者。如果您认为用户体验很重要,请记住这一点。

谢谢您的回复。我正在按照您在这里提出的建议进行操作,我的担忧是如何避免音频文件被下载到客户端的机器上(IE-临时互联网文件)。如果使用嵌入标签,则会先下载整个文件,有没有办法避免这种文件下载呢? - slimshady
不要使用“穷人版”的<embed>,而应该使用<object>元素,并指定支持流音频的播放器设置。您可以在这里找到几个示例。 - BalusC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接