我从Java HTML 5 Web应用程序返回什么来播放带有audiocontrol标签的声音文件

时间:2018-07-27 06:57:29

标签: java html5 html5-audio

我希望能够播放基于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编写的,我可以读取文件,,但实际上应该返回什么以允许音频控件播放音乐

1 个答案:

答案 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();