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

.NET MAUI语音转文本实现求助:代码报错解决方案咨询

.NET MAUI语音转文本NullReferenceException解决建议

从报错截图来看,你遇到了NullReferenceException,根源是SpeechToText.Default实例未被正确初始化,以下是针对性解决步骤:

1. 确认安装正确的NuGet包

确保项目中安装了适配你.NET MAUI版本的CommunityToolkit.Maui和CommunityToolkit.Maui.Media包,可通过NuGet包管理器或命令行安装:

dotnet add package CommunityToolkit.Maui
dotnet add package CommunityToolkit.Maui.Media

2. 初始化Maui Community Toolkit

在项目的MauiProgram.cs中,添加Toolkit的初始化代码:

var builder = MauiApp.CreateBuilder();
builder
    .UseMauiApp<App>()
    .UseMauiCommunityToolkit(); // 必须添加这行来初始化所有Toolkit功能

return builder.Build();

3. 配置平台权限

不同平台需要配置对应的权限才能使用语音识别和麦克风:

Android

在Platforms/Android/AndroidManifest.xml中添加录音权限:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

iOS

在Platforms/iOS/Info.plist中添加权限描述:

<key>NSSpeechRecognitionUsageDescription</key>
<string>需要使用语音识别将语音转换为文本</string>
<key>NSMicrophoneUsageDescription</key>
<string>需要使用麦克风录制语音</string>

4. 修复代码中的两处问题

  • 移除成功回调中RecognitionText的局部变量声明(否则会覆盖外部字段):
    if (recognitionResult.IsSuccessful)
    {
        RecognitionText = recognitionResult.Text; // 去掉前面的string关键字
    }
    
  • 简化CancellationToken的初始化:
    var cancellationToken = CancellationToken.None;
    

完成以上步骤后,重新编译运行项目,应该能解决当前的空引用异常问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 09:16:17