我希望能够播放基于Java的Web应用程序中的音频文件
如果文件实际上位于我的Web应用程序的根文件夹下的文件夹中,则可能出现
<audio controls="controls">
<source src="/musicserver/test.mp3">
</audio>
但是如果不是在机器上的其他位置,我会使用符号链接来解决这个问题,但这引起了另一个问题,这意味着我无法使用这种方法。
因此,建议的另一种解决方案是调用一个playmusic端点,将文件路径作为参数传递给它。这样。
<audio controls="controls">
<source src="/musicserver/playmusic?url=/musicfolder/test.mp3">
</audio>
但是我不知道该端点实际应该做什么。服务器是用Java编写的,我可以读取文件,,但实际上应该返回什么以允许音频控件播放音乐。
答案 0 :(得分:1)
首先将响应mime类型设置为audio/mpeg
,将mp3文件读取为原始字节,基本上是要写入xml/json/html
到响应流的byte[]
旁的所有servlet响应。
res.setContentType("audio/mpeg");
//this whole block should be in a try catch
FileInputStream fis = new FileInputStream(new File("yourmp3file.mp3"));
int c;
while((c=fis.read())!=-1){
res.getWriter().write(c);
}
res.getWriter().flush();