语音转文本适用于桌面 Web,但不适用于移动 Web(Flutter Web)

问题描述 投票:0回答:1

speech_to_text
包在桌面网络上完美运行(在Chrome上测试),但在移动网络上失败。在移动网络上,最初可以听到录音声音,但无法识别语音输入。发出初始声音后,不再处理进一步的输入。


代码片段

_speechEnabled = await _speechToText.initialize(
    finalTimeout: const Duration(seconds: 60),
    debugLogging: true,
    options: [SpeechToText.webDoNotAggregate],
);

await _speechToText.listen(
    onResult: _onSpeechResult,
    localeId: "en-IN",
    listenMode: ListenMode.dictation,
    listenFor: const Duration(seconds: 60),
    onDevice: true,
);
  • 在桌面网络 (Chrome) 上,该插件按预期工作,识别语音并触发
    onResult
    回调。
  • 在移动网页(Chrome)上,最初会播放录音,但无法识别语音,并且不会触发
    onResult
    回调。

环境详情

  • speech_to_text
    软件包版本:[7.0.0]

  • Flutter 版本:[3.27.3]

  • 设备:[Oppo A79 5G]

  • 桌面浏览器:[132.0.6834.84(官方版本)(arm64)(MacOS)]

  • 移动浏览器:[Android 版 Chrome 131.0.6778.260]

  • 我希望得到维护者的任何指导或见解。

我尝试使用以下代码初始化

speech_to_text
插件:

_speechEnabled = await _speechToText.initialize(
    finalTimeout: const Duration(seconds: 60),
    debugLogging: true,
    options: [SpeechToText.webDoNotAggregate],
);

await _speechToText.listen(
    onResult: _onSpeechResult,
    localeId: "en-IN",
    listenMode: ListenMode.dictation,
    listenFor: const Duration(seconds: 60),
    onDevice: true,
);

在桌面网络(Chrome)上,我希望它能够收听语音并使用识别的文本触发

onResult
回调,效果非常好。

在移动网络(Chrome)上,我期望有同样的行为。但是,在初次录制声音后,它不会听语音,并且永远不会触发

onResult
回调。

flutter dart flutter-dependencies speech-to-text dart-pub
1个回答
0
投票

您需要向 ios 和 adnroid 添加权限,如下所述:

对于安卓: 将此代码添加到 AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />

对于IOS: 将此代码添加到 info.plist

<key>NSMicrophoneUsageDescription</key>
    <string>This app requires microphone access to enable voice interactions and enhance your experience.</string>
    <key>NSSpeechRecognitionUsageDescription</key>
    <string>This app requires speech recognition access to enable voice search functionality for a more convenient user experience.</string>

提示: 尝试卸载该应用程序,然后重新安装并检查系统是否显示像这样的权限弹出窗口microphone permission in Android

© www.soinside.com 2019 - 2024. All rights reserved.