From 55ee71e8959173e7979cbce5cb0aaf0983a48296 Mon Sep 17 00:00:00 2001
From: zhaomingwork <61895407+zhaomingwork@users.noreply.github.com>
Date: 星期日, 20 八月 2023 14:18:52 +0800
Subject: [PATCH] add wav format for h5 and java (#875)
---
funasr/runtime/java/FunasrWsClient.java | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/funasr/runtime/java/FunasrWsClient.java b/funasr/runtime/java/FunasrWsClient.java
index ec55c94..43407f3 100644
--- a/funasr/runtime/java/FunasrWsClient.java
+++ b/funasr/runtime/java/FunasrWsClient.java
@@ -50,7 +50,8 @@
}
public FunasrWsClient(URI serverURI) {
- super(serverURI);
+
+ super(serverURI);
}
public FunasrWsClient(URI serverUri, Map<String, String> httpHeaders) {
@@ -64,7 +65,7 @@
// send json at first time
public void sendJson(
- String mode, String strChunkSize, int chunkInterval, String wavName, boolean isSpeaking) {
+ String mode, String strChunkSize, int chunkInterval, String wavName, boolean isSpeaking,String suffix) {
try {
JSONObject obj = new JSONObject();
@@ -78,6 +79,10 @@
obj.put("chunk_size", array);
obj.put("chunk_interval", new Integer(chunkInterval));
obj.put("wav_name", wavName);
+ if(suffix.equals("wav")){
+ suffix="pcm";
+ }
+ obj.put("wav_format", suffix);
if (isSpeaking) {
obj.put("is_speaking", new Boolean(true));
} else {
@@ -114,7 +119,9 @@
// function for rec wav file
public void recWav() {
- sendJson(mode, strChunkSize, chunkInterval, wavName, true);
+ String fileName=FunasrWsClient.wavPath;
+ String suffix=fileName.split("\\.")[fileName.split("\\.").length-1];
+ sendJson(mode, strChunkSize, chunkInterval, wavName, true,suffix);
File file = new File(FunasrWsClient.wavPath);
int chunkSize = sendChunkSize;
@@ -181,7 +188,11 @@
} catch (org.json.simple.parser.ParseException e) {
e.printStackTrace();
}
- if (iseof && mode.equals("offline")) {
+ if (iseof && mode.equals("offline") && !jsonObject.containsKey("is_final")) {
+ close();
+ }
+
+ if (iseof && mode.equals("offline") && jsonObject.containsKey("is_final") && jsonObject.get("is_final").equals("false")) {
close();
}
}
--
Gitblit v1.9.1