When playing audio using XamarinMediaManager nuget on xamarin ios, the audio is very soft even though the volume is set to maximum. This nuget package works perfectly fine for android.
I have a global variable for the player set on page load:
public IMediaManager NewPlayer { get; set; }
public AudioPage()
{
try
{
InitializeComponent();
NewPlayer = CrossMediaManager.Current;
NewPlayer.MediaItemFinished += NewPlayer_MediaItemFinished;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
DisplayAlert("Error", ex.ToString(), "Ok");
}
}
When the screen loads, the audio file is loaded to the player:
public async void SetAudioPlayer(string AudioPath)
{
try
{
if (File.Exists(AudioPath))
{
if (NewPlayer.Queue.Count > 0)
{
NewPlayer.Queue.Clear();
}
var generatedMediaItem = await CrossMediaManager.Current.Extractor.CreateMediaItem(AudioPath);
// Add media item to queue
NewPlayer.Queue.Add(generatedMediaItem);
}
}
catch (Exception ex)
{
await DisplayAlert("Error", ex.ToString(), "Ok");
}
}
This is the code for when the play button is clicked:
private async void imgPlay_Clicked(object sender, EventArgs e)
{
try
{
if (NewPlayer.Queue.MediaItems.Count > 0)
{
if (Device.RuntimePlatform == Device.iOS)
await NewPlayer.PlayQueueItem(CrossMediaManager.Current.Queue.MediaItems.Count - 1);
else
await NewPlayer.Play();
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
await DisplayAlert("Error", ex.ToString(), "Ok");
}
}