Возможно ли или в любом случае, что я могу получить доступ к микрофону и использовать его для проверки своего кода?
Я включил все это в расширенных элементах управления моего эмулятора для микрофона: ![enter image description here](https://i.stack.imgur.com/uX8mc.png)
У меня также есть эти разрешения в моем AndroidManifest. xml:
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
Это код:
using System;
using System.ComponentModel;
using Plugin.AudioRecorder;
using Xamarin.Forms;
namespace AudioDemo
{
[DesignTimeVisible(true)]
public partial class MainPage : ContentPage
{
AudioRecorderService recorder;
AudioPlayer player;
public MainPage()
{
InitializeComponent();
recorder = new AudioRecorderService
{
StopRecordingAfterTimeout = true,
TotalAudioTimeout = TimeSpan.FromSeconds(15),
AudioSilenceTimeout = TimeSpan.FromSeconds(2)
};
player = new AudioPlayer();
player.FinishedPlaying += Finaliza_Reproducao;
}
async void Record_Clicked(object sender, EventArgs e)
{
try
{
if (!recorder.IsRecording)
{
recorder.StopRecordingOnSilence = TimeoutSwitch.IsToggled;
RecordButton.IsEnabled = false;
PlayButton.IsEnabled = false;
//Start recording
var audioRecordTask = await recorder.StartRecording();
RecordButton.Text = "Parar Gravação";
RecordButton.IsEnabled = true;
await audioRecordTask;
RecordButton.Text = "Record";
PlayButton.IsEnabled = true;
}
else
{
RecordButton.IsEnabled = false;
//stop recording ...
await recorder.StopRecording();
RecordButton.IsEnabled = true;
}
}
catch (Exception ex)
{
//blow up the app!
await DisplayAlert("Erro", ex.Message, "OK");
}
}
async void Play_Clicked(object sender, EventArgs e)
{
try
{
var filePath = recorder.GetAudioFilePath();
if (filePath != null)
{
PlayButton.IsEnabled = false;
RecordButton.IsEnabled = false;
player.Play(filePath);
}
}
catch (Exception ex)
{
//blow up the app!
await DisplayAlert("Error", ex.Message, "OK");
}
}
void Finaliza_Reproducao(object sender, EventArgs e)
{
PlayButton.IsEnabled = true;
RecordButton.IsEnabled = true;
}
}
}
Этот код работает когда я использую телефон для его запуска, но когда я просто использую эмулятор (моего ноутбука), он не работает.