From b407aadc17952e4fcec900487f6b8b3d9936ea6f Mon Sep 17 00:00:00 2001 From: 999Yy999 <49663646+999Yy999@users.noreply.github.com> Date: Sun, 10 May 2020 15:11:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E4=BA=86bug,=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E4=B9=9F=E6=94=B9=E4=BA=86=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、不知道怎么把 从服务端返回的两个准确率值 传到js里面去 再异步刷新显示到界面上 2、还要把测试的详细信息给做出来 --- .../com/audio/controller/AudioController.java | 8 ++- .../java/com/audio/service/AudioService.java | 2 +- .../audio/service/impl/AudioServiceImpl.java | 27 ++++++--- .../main/webapp/WEB-INF/jsp/searchpage.jsp | 1 + .../src/main/webapp/WEB-INF/jsp/test.jsp | 18 +++--- NewAudioR/src/main/webapp/resources/js/app.js | 6 +- .../main/webapp/resources/js/testresult.js | 57 ++++++++++++------ .../audio/controller/AudioController.class | Bin 7116 -> 7273 bytes .../com/audio/service/AudioService.class | Bin 743 -> 850 bytes .../service/impl/AudioServiceImpl$1.class | Bin 1434 -> 1434 bytes .../audio/service/impl/AudioServiceImpl.class | Bin 14807 -> 15331 bytes .../maven/com.audio/NewAudioR/pom.properties | 2 +- 12 files changed, 81 insertions(+), 40 deletions(-) diff --git a/NewAudioR/src/main/java/com/audio/controller/AudioController.java b/NewAudioR/src/main/java/com/audio/controller/AudioController.java index 1055caa..c1095c0 100644 --- a/NewAudioR/src/main/java/com/audio/controller/AudioController.java +++ b/NewAudioR/src/main/java/com/audio/controller/AudioController.java @@ -60,11 +60,13 @@ public String testpage(){ public String test(String time, int fre, int sample, Model model){ // //List> audios=audioService.search(filename); - double[] zql=audioService.test(time, fre, sample); - //model.addAttribute("audios", audios); + //double[] zql=audioService.test(time, fre, sample); + HashMap zql=audioService.test(time, fre, sample); + model.addAttribute("zqls", zql); System.out.println("time:"+time+",fre:"+fre+",sample:"+sample); - return "result"; + //return "result"; + return "redirect:test"; } diff --git a/NewAudioR/src/main/java/com/audio/service/AudioService.java b/NewAudioR/src/main/java/com/audio/service/AudioService.java index ef17652..583a976 100644 --- a/NewAudioR/src/main/java/com/audio/service/AudioService.java +++ b/NewAudioR/src/main/java/com/audio/service/AudioService.java @@ -18,7 +18,7 @@ public interface AudioService { public void startrecord(); - public double[] test(String time, int fre, int sample); + public HashMap test(String time, int fre, int sample); //List> search(String filename, float[] data1); diff --git a/NewAudioR/src/main/java/com/audio/service/impl/AudioServiceImpl.java b/NewAudioR/src/main/java/com/audio/service/impl/AudioServiceImpl.java index 7346575..3a3884b 100644 --- a/NewAudioR/src/main/java/com/audio/service/impl/AudioServiceImpl.java +++ b/NewAudioR/src/main/java/com/audio/service/impl/AudioServiceImpl.java @@ -76,11 +76,10 @@ public List> search(String filename, float[] data1) { e.printStackTrace(); } int[] id = search(linkTime, linkHash, minHit); - /*if (id[i]<0){ - System.out.println("--------------------------error!--id="+id); + if (id==null){ + System.out.println("--------------------------时间太短 或噪声太大,未提取出指纹!--"); return null; } - else{*/ for (int i=0; i<3; i++){ System.out.println("----------------------------id="+id[i]+","); } @@ -134,10 +133,15 @@ public List> search(String filename, float[] data1) { public int[] search(int[] linkTime, int[] linkHash, int minHit){ HashMap linkHashMap = new HashMap<>(linkHash.length); + System.out.println("---------fingerprint parameter length:"+linkHash.length); for(int i = 0; i < linkHash.length; i ++){ //client端 hash,time + //System.out.println("-------linkHash["+i+"]"+"="+linkHash[i]); linkHashMap.put(linkHash[i],linkTime[i]); } hashMap = new HashMap<>(400000); + if (linkHash.length==0){ + return null; + } List audios= audioMapper.searchAllAudios(linkHash); for (int i=0; i o1, HashMap.Entry public void setHashTime(Fingerprint fp){ ArrayList linkList = fp.getLinkList(); + //System.out.println("---------fingerprint length:"+linkList.size()); linkHash = new int[linkList.size()]; //159 linkTime = new int[linkList.size()]; for(int i = 0; i < linkHash.length; i ++){ @@ -264,7 +269,7 @@ public void startrecord(){ }*/ @Override - public double[] test(String time, int fre, int sample) { + public HashMap test(String time, int fre, int sample) { int maxmusicdata=239; //音乐库最大歌曲数 int success1=0, success2=0, failure1=0, failure2=0; //记录器 String path="D:\\Z_毕设\\音频素材\\wav"; @@ -308,6 +313,7 @@ public double[] test(String time, int fre, int sample) { List> audios=search(filename,data); // 测试结果与源文件(名称+歌手+专辑)对比 int flag=0; //判断是否在top3 + if (audios==null) {continue;} System.out.println("-------------audios.size()="+audios.size()); if (audios.size()==1){ String title=(String) audios.get(0).get("title"); @@ -336,9 +342,10 @@ public double[] test(String time, int fre, int sample) { Map map = audios.get(k); Iterator iterator = map.keySet().iterator(); + title=(String) map.get("title"); while (iterator.hasNext()) { String string = (String) iterator.next(); - System.out.println("string:"+string); + //System.out.println("string:"+string); if (j==1){ artist=map.get(string).toString(); } @@ -356,8 +363,11 @@ public double[] test(String time, int fre, int sample) { if (samerate>maxrate){ maxrate=samerate; maxartist=artist; + //System.out.println("-------------maxartist赋值成功:"+maxartist); maxalbum=album; - maxtitle=title; + //System.out.println("-------------maxartist赋值成功:"+maxalbum); + maxtitle=title; //上面为它赋值了,这段代码改下,不需要用迭代器,直接用属性当键取值 + //System.out.println("-------------maxartist赋值成功:"+maxtitle); } } j++; @@ -388,8 +398,11 @@ public double[] test(String time, int fre, int sample) { zql[1]=success2*1.0/sample; System.out.println("----------zql1="+zql[0]+" = "+success1+"/"+sample); System.out.println("----------zql2="+zql[1]+" = "+success2+"/"+sample); + HashMap zqlmap = new HashMap<>(); + zqlmap.put("zql1", zql[0]); + zqlmap.put("zql2", zql[1]); - return zql; + return zqlmap; } // 2.模拟生成fre频率的白噪声 diff --git a/NewAudioR/src/main/webapp/WEB-INF/jsp/searchpage.jsp b/NewAudioR/src/main/webapp/WEB-INF/jsp/searchpage.jsp index a5f540c..37f0300 100644 --- a/NewAudioR/src/main/webapp/WEB-INF/jsp/searchpage.jsp +++ b/NewAudioR/src/main/webapp/WEB-INF/jsp/searchpage.jsp @@ -65,6 +65,7 @@ + diff --git a/NewAudioR/src/main/webapp/WEB-INF/jsp/test.jsp b/NewAudioR/src/main/webapp/WEB-INF/jsp/test.jsp index d47b171..95d4173 100644 --- a/NewAudioR/src/main/webapp/WEB-INF/jsp/test.jsp +++ b/NewAudioR/src/main/webapp/WEB-INF/jsp/test.jsp @@ -18,9 +18,6 @@ - - -
Search word @@ -73,10 +70,10 @@
- +

- +

Results

@@ -86,15 +83,22 @@ 编号 时长 - 噪音频率 + 噪音频率 测试样例数 + 操作 测试准确率1 测试准确率2 + 详细 + + + ${zqls.zql1 } ${zqls.zql2 } + + \ No newline at end of file diff --git a/NewAudioR/src/main/webapp/resources/js/app.js b/NewAudioR/src/main/webapp/resources/js/app.js index 5176606..73e2f51 100644 --- a/NewAudioR/src/main/webapp/resources/js/app.js +++ b/NewAudioR/src/main/webapp/resources/js/app.js @@ -125,7 +125,7 @@ function createDownloadLink(blob) { //name of .wav file to use during upload and download (without extendion) var filename = new Date().toISOString(); - //add controls to the