如何在.Net MAUI中访问麦克风输入



我正在开发.net maui应用程序,该应用程序可以测量音量,并通过蓝牙将其发送到记录数据和制作图形的pc,作为一个业余项目。我的问题是加速麦克风输入。在毛伊岛似乎没有多平台的方式来做到这一点。所以我尝试使用特定于平台的android api来实现它,但当我尝试这样做时,我需要的类似乎没有在maui android命名空间中完全实现。

我的代码中有问题的部分是:

using Android.Media;
using Java.Util;
public static class MicIn
{
static MediaRecorder mRecorder;

// Other functions
public static void startRecorder()
{
if (mRecorder == null)
{
mRecorder = new MediaRecorder();
mRecorder.SetAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.SetOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.SetAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder.SetOutputFile("/dev/null");
try
{
mRecorder.Prepare();
}
catch (Java.IO.IOException ioe)
{
Debug.WriteLine("IO exception");
}
catch (Java.Lang.SecurityException e)
{
Debug.WriteLine("Security exception");
}
try
{
mRecorder.Start();
}
catch (Java.Lang.SecurityException e)
{
Debug.WriteLine("Security exception");
}
}
}
}

Visual studio在MediaRecorder.AudioSource.MIC、MediaRecorder.OutputFormat.THREE_GPP和MediaRecorder.Audio编码器.AMR_NB上给我错误它说,这些类没有MIC、THRE_GPP和AMR_NB常量的定义,即使它们在官方的android api文档中也是如此。

你知道在.net maui中输入麦克风可能会出现什么错误或其他方法吗?谢谢你的帮助。

根据文档

音频源Mic

输出格式ThreeGpp

音频编码器AmrNb

最新更新