You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter韩语语音转文字麦克风权限异常问题排查请求

韩语语音转文字权限问题排查方案
  • 检查平台权限配置完整性
    韩语语音识别可能需要额外的权限声明,而英文识别依赖的基础权限你可能已配置完整:

    • Android:在AndroidManifest.xml中补充权限
      <uses-permission android:name="android.permission.RECORD_AUDIO" />
      <uses-permission android:name="android.permission.INTERNET" /> <!-- 韩语识别需联网调用服务 -->
      
    • iOS:在Info.plist中添加权限描述
      <key>NSSpeechRecognitionUsageDescription</key>
      <string>需要使用语音识别功能将韩语转换为文字</string>
      <key>NSMicrophoneUsageDescription</key>
      <string>需要使用麦克风录制语音</string>
      
  • 调整权限请求与语音初始化顺序
    当前先请求权限再初始化语音对象的逻辑,可能在指定非默认locale时触发异常。尝试调换顺序:

    void initializeSpeechRecognition() async {
        try {
          // 先初始化语音识别对象
          var initResult = await speech.initialize();
          if (initResult) {
            // 再请求麦克风权限
            var permission = await Permission.microphone.request();
            if (permission == PermissionStatus.granted) {
              speech.listen(
                onResult: (val) => setState(() => transcription = val.recognizedWords),
                localeId: 'ko_KR',
              );
            } else {
              print('Error: microphone permission denied');
              // 若权限被永久拒绝,引导用户跳转设置页
              if (permission == PermissionStatus.permanentlyDenied) {
                await openAppSettings();
              }
            }
          }
        } catch (e) {
          print('Error: $e');
        }
      }
    
  • 验证设备是否支持韩语locale
    确认设备系统支持ko_KR语音识别,可在初始化后打印支持的locale列表:

    var supportedLocales = await speech.locales();
    supportedLocales.forEach((locale) => print(locale.localeId));
    

    如果ko_KR不在输出列表中,需检查设备语言设置或升级speech_to_text包版本。

内容的提问来源于stack exchange,提问作者tiffjai91

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:05:17