我正在JSP / SERVLET中开发我的项目。 我有HTML格式的音频标签
<audio src=" player.jsp "/>
需要播放player.jsp自定义开始时间,如01:24
我希望我的player.jsp读取文件并打印出来,以便HTML音频可以读取/播放它。
我已经写了这段代码。但它没有用。
response.setHeader("Content-Type","audio/mpeg");
String path1 = "C:\\1.mp3";
File fileFileName = new File(path1);
InputStream in = new FileInputStream(path1);
long length = fileFileName.length();
byte[] bytes = new byte[(int) length];
int offset = 0;
int numRead = 0;
while (offset < bytes.length && (numRead = in.read(bytes, offset, bytes.length - offset)) >= 0) {
offset += numRead;
}
String file = new String(bytes);
out.println(file);
请帮帮我:
答案 0 :(得分:0)
从自定义开始时间播放音频的最简单方法是使用JavaScript API:
<audio id="player" src="player.jsp" type="audio/mpeg" data-start-time="45">
Audio not supported
</audio>
<script type="text/javascript">
var player = document.getElementById('player');
player.currentTime = player.getAttribute('data-start-time');
player.play();
</script>
脚本将在加载播放器后运行,并将曲目当前时间设置为45秒。请注意,我将开始时间移动到自定义属性,因此可以使用JSTL动态设置:data-start-time="${startTimeSec}
。
也可以使用JavaScript获取完整剪辑持续时间。就前面的例子而言,它是player.duration
属性。
最后,如果你想使用servlet进行动态音频加载,你应该返回一个输出字节流,而不是现在的字符串。
OutputStream out = response.getOutputStream();
out.write(bytes, 0, numRead);
out.flush();
out.close();