【发布时间】:2019-02-07 15:45:18
【问题描述】:
所以我正在使用 Plugin.SpeechRecognition Nuget 包并遵循在线的确切代码,但它不起作用。
我尝试添加“Plugin.Permissions”Nuget 包,但没有帮助,我尝试用谷歌搜索问题,但没有人遇到这个问题,而且似乎对每个人都有效。我也试过删除“await”关键字,它只是说
运算符“==”不能应用于“IObservable”和“bool”类型的操作数
这是我的代码:
private async void GetSpeechPermission()
{
var granted = await CrossSpeechRecognition.Current.RequestPermission();
if (granted == true)
{
// go!
}
}
所以应该发生的是没有错误,代码应该可以正常运行,但是代码行
await CrossSpeechRecognition.Current.RequestPermission();
有一个红色下划线表示
IObservable 不包含“GetAwaiter”的定义,并且找不到接受“IObservable”类型的第一个参数的扩展方法“GetAwaiter”(您是否缺少 using 指令或程序集引用?)
当我使用插件创建者从这里https://github.com/aritchie/speechrecognition提供的EXACT代码时
非常感谢任何帮助!
【问题讨论】:
-
我会查看示例应用程序,我认为 github 文档不正确。
-
解决了!解决方案是添加“使用 System.Reactive.Linq;”并将“.ToTask(); 添加到有问题的代码行的末尾,从而产生“等待 CrossSpeechRecognition.Current.RequestPermission().ToTask();” 感谢您的帮助!:D
-
好吧没解决...遇到了同样的问题:'Operator '==' cannot be applied to 'IObservable' and 'bool'' 类型的操作数和 .ToTask();正如开发人员建议的那样,只会创建更多问题,因此将其删除。
-
您是否按照我的建议查看了示例应用程序?
-
@Jason 示例和上面我刚查过的一样,反正Alex你能告诉我你的插件版本吗
标签: c# xamarin permissions request speech