我正在使用JAVA开发一个android应用程序。我只想
我已经完成了第一部分。有人能给我建议一下JAVA的第二部分吗?(P.S.:我已经看到了如何使用python代码来实现它,但这对我的情况没有帮助。)
另一个问题是,我可以用全局echoprint服务器实现第二个目标吗?或者,我需要自己做一个吗?
我使用过的参考资料如下:
http://masl.cis.gvsu.edu/2012/01/25/android-echoprint/
发布于 2014-05-06 16:52:55
要将歌曲插入echoprint服务器数据库,只需调用ingest方法即可。基本上,它只是一个具有正确json主体的HTTP请求。下面是我所使用的Scala代码(Java非常类似):
import EasyJSON.JSON
import EasyJSON.ScalaJSON
import dispatch.Defaults.executor
import dispatch._
class EchoprintAPI {
val API_URL = "http://your.api.server"
def queryURL(code: String) = url(s"$API_URL/query?fp_code=$code")
def query(code: String): scala.concurrent.Future[ScalaJSON] = {
jsonResponse(queryURL(code))
}
def ingest(json: ScalaJSON, trackId: String): scala.concurrent.Future[ScalaJSON] = {
val metadata = json("metadata")
val request = url(s"$API_URL/ingest").POST
.addParameter("fp_code", json("code").toString)
.addParameter("artist", metadata("artist").toString)
.addParameter("release", metadata("release").toString)
.addParameter("track", metadata("title").toString)
.addParameter("codever", metadata("version").toString)
.addParameter("length", metadata("duration").toString)
.addParameter("genre", metadata("genre").toString)
.addParameter("bitrate", metadata("bitrate").toString)
.addParameter("source", metadata("filename").toString)
.addParameter("track_id", trackId)
.addParameter("sample_rate", metadata("sample_rate").toString)
jsonResponse(request)
}
def delete(trackId: String): scala.concurrent.Future[ScalaJSON] = {
jsonResponse(url(s"$API_URL/query?track_id=$trackId").DELETE)
}
protected def jsonResponse(request: dispatch.Req): scala.concurrent.Future[EasyJSON.ScalaJSON] = {
val response = Http(request OK as.String)
for (c <- response) yield JSON.parseJSON(c)
}
} 要生成指纹代码,可以使用echoprint-codegen命令行调用或使用Java与C库的集成
https://stackoverflow.com/questions/23488399
复制相似问题