.NET MAUI-Azure语音服务



我正在尝试将我的.NET MAUI应用程序与Azure认知语音服务集成,遵循微软的旧xamarin教程https://learn.microsoft.com/en-us/xamarin/xamarin-forms/data-cloud/azure-cognitive-services/speech-recognition

根据这个家伙MAUI安卓:如何保持谷歌语音识别器超时它应该工作。

麦克风服务的实现部分给了我编译错误。这是代码:

using Android.App;
using Android.Content.PM;
using Android.OS;
using AndroidX.Core.App;
using Google.Android.Material.Snackbar;
using System.Threading.Tasks;
using Atk.Progen.NETMAUI.Interfaces;
using Atk.Progen.NETMAUI.Platforms.Android;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Android;
namespace Atk.Progen.NETMAUI.Platforms.Android
{
public class MicrophoneService
{
public const int RecordAudioPermissionCode = 1;
private TaskCompletionSource<bool> tcsPermissions;
string[] permissions = new string[] { Manifest.Permission.RecordAudio };
public MicrophoneService()
{
tcsPermissions = new TaskCompletionSource<bool>();
}
public Task<bool> GetPermissionAsync()
{
if ((int)Build.VERSION.SdkInt < 23)
{
tcsPermissions.TrySetResult(true);
}
else
{
var currentActivity = MainActivity.Instance;
if (ActivityCompat.CheckSelfPermission(currentActivity, Manifest.Permission.RecordAudio) != (int)Permission.Granted)
{
RequestMicPermissions();
}
else
{
tcsPermissions.TrySetResult(true);
}
}
return tcsPermissions.Task;
}
public void OnRequestPermissionResult(bool isGranted)
{
tcsPermissions.TrySetResult(isGranted);
}
void RequestMicPermissions()
{
if (ActivityCompat.ShouldShowRequestPermissionRationale(MainActivity.Instance, Manifest.Permission.RecordAudio))
{
Snackbar.Make(MainActivity.Instance.FindViewById(Android.Resource.Id.Content),
"Microphone permissions are required for speech transcription!",
Snackbar.LengthIndefinite)
.SetAction("Ok", v =>
{
((Activity)MainActivity.Instance).RequestPermissions(permissions, RecordAudioPermissionCode);
})
.Show();
}
else
{
ActivityCompat.RequestPermissions((Activity)MainActivity.Instance, permissions, RecordAudioPermissionCode);
}
}
}
}

错误出现在MainActivity.Istance和Android.Resource.Id.Content上。上面写着";MainActivity不包含"实例"的定义;。

关于如何使其在.net MAUI上工作,有什么建议吗?

Android对MAUI的支持已在Speech SDK 1.24.0版本中发布。你应该能够使用https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech在您的MAUI Android应用程序中。

此外,我们将在1.25.0版本中发布对iOS和Maccatalyst的支持,预计2023年1月发布。

最新更新