0

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");
            }
        }
  • I don't see a volume setting in that code? Maybe `NewPlayer.Volume = 1;`? – ToolmakerSteve Nov 14 '22 at 19:53
  • 1
    I have tried that with varying integers from 1-10 and it did not change the issue from above , thank you for the suggestion. – Abdul Muiez Ben Nov 18 '22 at 09:29
  • I've add good success (iOS, Android) with [Xam.Plugin.SimpleAudioPlayer nuget](https://www.nuget.org/packages/Xam.Plugin.SimpleAudioPlayer). On that, I had to set volume to 1 to get good volume. – ToolmakerSteve Nov 18 '22 at 20:54

0 Answers0