HTML5 OPUS 的音频跳到结尾,过渡不流畅
HTML5 audio for OPUS jumping to end, not transitioning smoothly
我有一个服务器向客户提供 OPUS 文件。
我有一个音频元素:
<audio id="recordingAudioElement" controls autoplay="true" controlsList="nodownload">
<source src="" type="audio/x-wav">
</audio>
在angular6中,我设置的音频源设置如下:
this.audioElement.src = this.myService.getAudio(id);
我有一个 Java 后端方法,它从输入流获取音频并将其发送到客户端:
public HttpServletResponse createServletResponse(HttpServletRequest request, HttpServletResponse response, InputStream inputStream) {
ServletOutputStream os = null;
byte[] data;
try {
data = ByteStreams.toByteArray(inputStream);
response.setContentType("audio/x-wav");
response.setStatus(200);
os = response.getOutputStream();
os.write(data);
os.flush();
} catch (IOException e) {
e.printStackTrace();
response.setStatus(500);
}
return response;
}
现在我设置audio元素的src时,slider长时间停留在最前面,不动,最后几秒就跳到尾部
为什么会这样?
我通过在响应中添加 Accept-Ranges:bytes header 字段解决了这个问题。
response.setHeader("Accept-Ranges", "bytes");
我有一个服务器向客户提供 OPUS 文件。
我有一个音频元素:
<audio id="recordingAudioElement" controls autoplay="true" controlsList="nodownload">
<source src="" type="audio/x-wav">
</audio>
在angular6中,我设置的音频源设置如下:
this.audioElement.src = this.myService.getAudio(id);
我有一个 Java 后端方法,它从输入流获取音频并将其发送到客户端:
public HttpServletResponse createServletResponse(HttpServletRequest request, HttpServletResponse response, InputStream inputStream) {
ServletOutputStream os = null;
byte[] data;
try {
data = ByteStreams.toByteArray(inputStream);
response.setContentType("audio/x-wav");
response.setStatus(200);
os = response.getOutputStream();
os.write(data);
os.flush();
} catch (IOException e) {
e.printStackTrace();
response.setStatus(500);
}
return response;
}
现在我设置audio元素的src时,slider长时间停留在最前面,不动,最后几秒就跳到尾部
为什么会这样?
我通过在响应中添加 Accept-Ranges:bytes header 字段解决了这个问题。
response.setHeader("Accept-Ranges", "bytes");