Jia_feiyang
2021-11-07 16:31
采纳率: 0%
浏览 23

鸿蒙语音识别,报错:没有语音输入


//语音识别
    public void voiceRecognition() {
        //创建一个AsrClient对象
        AsrClient asrClient = AsrClient.createAsrClient(this).orElse(null);
        //设置引擎参数
        AsrIntent initIntent = new AsrIntent();
        initIntent.setAudioSourceType(AsrIntent.AsrAudioSrcType.ASR_SRC_TYPE_PCM);
        // 将FilePath修改为正确的地址,且文件路径需要给com.huawei.hiai进程授予可访问权限。
        initIntent.setFilePath("/data/data/com.jiakejian/voice");
        asrClient.init(initIntent, new AsrListener() {
            @Override
            public void onInit(PacMap pacMap) {
                HiLog.info(LABEL_LOG, "pacMap:" + pacMap);
                AsrIntent asrIntent = new AsrIntent();
                asrClient.startListening(asrIntent);
            }

            @Override
            public void onBeginningOfSpeech() {
                HiLog.info(LABEL_LOG, "开始讲话:===============");

            }

            @Override
            public void onRmsChanged(float v) {
                HiLog.info(LABEL_LOG, "声音改变:===============");

            }

            @Override
            public void onBufferReceived(byte[] bytes) {
                asrClient.writePcm(bytes, 1280);
            }

            @Override
            public void onEndOfSpeech() {
                HiLog.info(LABEL_LOG, "声音停止:===============");

            }

            @Override
            public void onError(int i) {
                HiLog.info(LABEL_LOG, "错误:===============" + i);

            }

            @Override
            public void onResults(PacMap pacMap) {
                String result = pacMap.getString(AsrResultKey.RESULTS_INTERMEDIATE);
                HiLog.info(LABEL_LOG, "result:" + result);

            }

            @Override
            public void onIntermediateResults(PacMap pacMap) {
                String result = pacMap.getString(AsrResultKey.RESULTS_INTERMEDIATE);
                HiLog.info(LABEL_LOG, "result:" + result);

            }

            @Override
            public void onEnd() {

            }

            @Override
            public void onEvent(int i, PacMap pacMap) {

            }

            @Override
            public void onAudioStart() {

            }

            @Override
            public void onAudioEnd() {

            }
        });
    }

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • WEIXIN_398529324 2021-11-07 19:48

    你这是在什么系统下进行得测试

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题