如何播放从数据库加载的音频?

时间:2015-04-28 15:45:08

标签: database jsf audio

我开发音乐网站。

jsf页面上,我有HTML audio标记
如果音频文件位于WEB-INF的父级中,例如

WebContent |-- META-INF |-- WEB-INF
  -- some.mp3
我只想写下一段代码:



<audio ...>
  <source src="#{request.contextPath}/some.mp3" type="audio/mpeg" />
</audio>
&#13;
&#13;
&#13;
添加控件后,我可以播放/暂停此音频。

但如果我的音频文件未在WebContent文件夹中本地存储,我该怎么办? 我知道音频文件应该像BLOB一样存储在数据库中 从DB下载选定的音频后,我该如何表示?(String数组,某种Stream?)

在网络上看到的所有例子中,人们都会播放本地音频文件 那么,如何播放存储在数据库中的音频(在jsf页面上)

我希望你明白我想要的。

1 个答案:

答案 0 :(得分:1)

您无法直接从数据库中读取文件:您必须提供给客户端。

它适用于WebContent文件夹中的文件,因为这些文件是由Web服务器自动提供的。

要提供存储在数据库中的文件,您需要编写FileServlet。基本上这个文件servlet将:

  • 回复特定请求;
  • 从数据库中检索文件;
  • 使用流将文件内容输出给用户。

查看this以获得FileServlet的良好开端。