【发布时间】:2016-04-12 02:30:59
【问题描述】:
我已阅读How to serve a file on sdcard using NanoHTTPD (inside Android)
最新的 NanoHTTPD 2.3.0 不再支持代码return new NanoHTTPD.Response(Status.OK, "audio/mpeg", fis)。
我尝试用 return newFixedLengthResponse(fis) 替换它,但它不正确。我怎样才能做到这一点?谢谢!
public class StackOverflowMp3Server extends NanoHTTPD {
public StackOverflowMp3Server() {
super(8089);
}
@Override
public Response serve(String uri, Method method,
Map<String, String> header, Map<String, String> parameters,
Map<String, String> files) {
String answer = "";
FileInputStream fis = null;
try {
fis = new FileInputStream(Environment.getExternalStorageDirectory()
+ "/music/musicfile.mp3");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new NanoHTTPD.Response(Status.OK, "audio/mpeg", fis);
}
}
【问题讨论】:
-
那么 Response 的声明现在看起来怎么样?旧的错误信息是什么?
-
使用 NanoHTTPD 2.3.0 时代码返回 new NanoHTTPD.Response(Status.OK, "audio/mpeg", fis) 无法编译
-
更重要的是你回答我的第一个问题。你为什么不呢? IDE 将向您展示如何完成。