如何在Android中使用最新的NanoHTTPD 2.3.0来提供mp3文件?

Hel*_*oCW 1 android nanohttpd

我已经阅读了如何使用NanoHTTPD在Android上的sdcard上提供文件

return new NanoHTTPD.Response(Status.OK, "audio/mpeg", fis)最新的NanoHTTPD 2.3.0不再支持该代码。

我尝试将其替换为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);
  }
}
Run Code Online (Sandbox Code Playgroud)

Ant*_*aev 5

您可以使用如下newChunkedResponse()方法InputStream

return newChunkedResponse(Status.OK, "audio/mpeg", fis);