夜雨飘零
2023-11-30 5eabdd444ea07038b6e814a022a212e8a87f6a9a
修复为支持新版本的热词 (#1137)

2个文件已修改
23 ■■■■ 已修改文件
runtime/android/AndroidClient/app/src/main/java/com/yeyupiaoling/androidclient/MainActivity.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
runtime/android/AndroidClient/app/src/main/res/layout/dialog_input_hotwords.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
runtime/android/AndroidClient/app/src/main/java/com/yeyupiaoling/androidclient/MainActivity.java
@@ -47,7 +47,7 @@
    public static final int CHUNK_INTERVAL = 10;
    public static final int SEND_SIZE = 1920;
    // 热词
    private String hotWords = "阿里巴巴 达摩院 夜雨飘零";
    private String hotWords = "阿里巴巴 20\n达摩院 20\n夜雨飘零 20\n";
    // 采样率
    public static final int SAMPLE_RATE = 16000;
    // 声道数
@@ -287,6 +287,7 @@
            }
        });
        String message = getMessage(true);
        Log.d(TAG, "WebSocket发送消息: " + message);
        webSocket.send(message);
        audioRecord.startRecording();
@@ -319,7 +320,23 @@
            obj.put("chunk_interval", CHUNK_INTERVAL);
            obj.put("wav_name", "default");
            if (!hotWords.equals("")) {
                obj.put("hotwords", hotWords);
                JSONObject hotwordsJSON = new JSONObject();
                // 分割每一行字符串
                String[] hotWordsList = hotWords.split("\n");
                for (String s : hotWordsList) {
                    if (s.equals("")) {
                        Log.w(TAG, "hotWords为空");
                        continue;
                    }
                    // 按照空格分割字符串
                    String[] hotWordsArray = s.split(" ");
                    if (hotWordsArray.length != 2) {
                        Log.w(TAG, "hotWords格式不正确");
                        continue;
                    }
                    hotwordsJSON.put(hotWordsArray[0], Integer.valueOf(hotWordsArray[1]));
                }
                obj.put("hotwords", hotwordsJSON.toString());
            }
            obj.put("wav_format", "pcm");
            obj.put("is_speaking", isSpeaking);
runtime/android/AndroidClient/app/src/main/res/layout/dialog_input_hotwords.xml
@@ -13,6 +13,6 @@
        android:background="@drawable/edittext_border"
        android:minLines="3"
        android:gravity="top"
        android:hint="每个热词用空格隔开" />
        android:hint="每一行为:热词 权重" />
</LinearLayout>