Android Media Player会随机引发错误而无法播放

时间:2018-06-04 12:09:30

标签: c# android xamarin.android android-mediaplayer

我正在Xamarin.Android为VS2017制作乐器演奏应用程序(“Walkband”风格)。 我有一个名为MediaPlayers的{​​{1}}数组。

这是Play功能,其中players相当于resid

Resource.Raw.filename

大部分时间它都很好,但偶尔(特别是在快速连续播放许多资源之后),它无法播放。

成功后日志如下所示:

public void Play(int resid)
    {
        for (int i = 0; i < players.Length; i++)
        {
            if (!players[i].IsPlaying)
            {
                players[i].Reset();
                players[i] = MediaPlayer.Create(this, resid);
                players[i].Start();
                break;
            }
        }
    }

当它失败时就像这样:

06-04 14:52:26.112 I/MediaPlayer(17611): message received msg=2, ext1=0, ext2=0
06-04 14:52:26.112 I/MediaPlayer(17611): playback complete

资源本身不是问题,因为所有资源大部分都有效,而且偶尔都会失败

1 个答案:

答案 0 :(得分:0)

  

我有一系列称为播放器的MediaPlayers。

您需要使用soundpool,请参阅this