Android Media Player 随机出现错误并且无法播放
Android Media Player randomly raises error and doesn't play
我正在为 VS2017 在 Xamarin.Android 上制作一个乐器演奏应用程序("Walkband" 风格)。
我有一个名为 players
的 MediaPlayers
数组。
这是Play函数,其中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
失败时像这样:
06-04 14:52:25.933 I/MediaPlayer(17611): message received msg=100, ext1=1, ext2=-19
06-04 14:52:25.933 E/MediaPlayer(17611): error (1, -19)
06-04 14:52:25.933 E/MediaPlayer(17611): Error (1,-19)
资源本身不是问题,因为所有资源大部分都可以工作,偶尔都会失败
I have an array of MediaPlayers called players.
您需要使用soundpool, and please refer to this。
我正在为 VS2017 在 Xamarin.Android 上制作一个乐器演奏应用程序("Walkband" 风格)。
我有一个名为 players
的 MediaPlayers
数组。
这是Play函数,其中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
失败时像这样:
06-04 14:52:25.933 I/MediaPlayer(17611): message received msg=100, ext1=1, ext2=-19
06-04 14:52:25.933 E/MediaPlayer(17611): error (1, -19)
06-04 14:52:25.933 E/MediaPlayer(17611): Error (1,-19)
资源本身不是问题,因为所有资源大部分都可以工作,偶尔都会失败
I have an array of MediaPlayers called players.
您需要使用soundpool, and please refer to this。