Audio player gets auto disposed

The audio player gets disposed when changing audio files. The app plays sequential audio in files in the shared\audio folder. The first file plays ok but stops after first audio. Im using Plugin.SimpleAudioplayer Here's the code, what am i doing wrong.

 public partial class MainPage : ContentPage
{
    private ISimpleAudioPlayer audio;
    private int pagenum;

    public MainPage()
    {
        InitializeComponent();
    }

    private void playaudio(int pgnum)
    {
        audio = CrossSimpleAudioPlayer.Current;
        audio.PlaybackEnded += cmdNextClicked; 
        
        var stream = GetStreamFromFile(string.Concat("audio.w", (pgnum + 1).ToString(), ".mp3"));
        audio.Load(stream);
        audio.Play();
    }

    Stream GetStreamFromFile(string filename)
    {
        var assembly = typeof(App).GetTypeInfo().Assembly;
        var stream = assembly.GetManifestResourceStream("App1." + filename);
        return stream;
    }

    private void cmdRunClicked(object sender, EventArgs e)//
    {
        playaudio(pagenum);
    }

    private void cmdStopClicked(object sender, EventArgs e)//
    {
       if (!(audio is null))
        {
            audio.Stop();
        }
    }

    private void cmdClicked(object sender, EventArgs e)
    {
        audio.Seek(audio.CurrentPosition + 30.0);
    }

    private void cmdNextClicked(object sender, EventArgs e)
    {
       
        pagenum++;
        lblPageNo.Text = pagenum.ToString();
        playaudio(pagenum);
    }

    private void cmdPrevClicked(object sender, EventArgs e)
    {
        pagenum--;
        lblPageNo.Text = pagenum.ToString();
        playaudio(pagenum);
    }
}


Comments

Popular posts from this blog

Spring Elasticsearch Operations

Network Error and Timeout on Authorize.net JS

Object oriented programming concepts (OOPs)