在C#中,请求允许语音识别Xamarin的Android时,我得到一个错误

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

所以,我现在用的是Plugin.SpeechRecognition NuGet包和下面就行,它不工作的确切的代码。

我曾尝试加入“Plugin.Permissions” NuGet包并没有帮助,我已经试着用搜索引擎的问题,但没有任何人得到这个问题,它似乎很好地工作的每一个人。我也试图消除“等待”关键字,它只是说,

运算符“==”不能被施加到型“的IObservable”和“布尔”的操作数

这里是我的代码:

    private async void GetSpeechPermission()
    {
        var granted = await CrossSpeechRecognition.Current.RequestPermission();
        if (granted == true)
        {
            // go!
        }
    }

因此,如果没有错误什么那么将会发生什么,代码应该运行良好,但该行代码

await CrossSpeechRecognition.Current.RequestPermission();

有一个红色下划线说

的IObservable”不包含用于定义‘GetAwaiter’和没有扩展方法‘GetAwaiter’接受型的第一参数‘的IObservable’可以找到(是否缺少using指令或程序集引用?)

当我使用该插件的创造者从这里提供的确切的代码https://github.com/aritchie/speechrecognition

任何帮助深表感谢!!

c# xamarin permissions request speech
1个回答
0
投票

解决这个是添加

使用System.Reactive.Linq

在而不是使用一个布尔值作为代码示例插件提示,而是在if语句代码的使用区间,并且在“授予”变量转换为字符串,然后检查“可用”,代码:

    private async void GetSpeechPermission()
    {
        var granted = await CrossSpeechRecognition.Current.RequestPermission();
        if (granted.ToString() == "Available")
        {
            //GO
        }
    }

希望这有助于一些之一! :d

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