我试着用hls构建一个http服务器来传输视频。我已经处理了如下的React。
private void handleResponse(HttpExchange exchange, String fileNameValue) {
OutputStream responseStream = exchange.getResponseBody();
File file = new File(fileNameValue);
try {
String encoding = "UTF-8";
String response = FileUtils.readFileToString(file, encoding);
exchange.getResponseHeaders().set("Content-Type", "application/x-mpegURL");
exchange.getResponseHeaders().set("Accept-Ranges", "bytes");
exchange.getResponseHeaders().set("Cache-Control", "max-age=0, no-cache, no-store");
exchange.sendResponseHeaders(200, response.length());
responseStream.write(response.getBytes());
responseStream.flush();
responseStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
但是浏览器总是下载文件而不是播放它。vlc媒体播放器也不会播放。
我想得到这样的结果。
你能告诉我怎么做吗?对一些研究关键词也进行了评价。
1条答案
按热度按时间zbq4xfa01#
我发现他们的网站使用xhr发送请求,所以文件出现在网络部分。
之后我使用hls.js,得到相同的结果:)