我有许多需要按顺序播放的音轨。我正在使用 MediaPlayer OnCompletionListener
,如下所示:
public void OnCompletion(MediaPlayer mp)
{
_completed++;
mp.Reset();
if (_completed < _tracks.Length)
{
try
{
AssetFileDescriptor afd = _context.Resources.OpenRawResourceFd(_tracks[_completed]);
if (afd != null)
{
mp.SetDataSource(afd.FileDescriptor, afd.StartOffset, afd.Length);
afd.Close();
mp.Prepare();
mp.Start();
}
}
catch (Exception ex)
{
throw;
}
}
}
这可行,但轨道之间存在明显的延迟。我想将这段时间减少到尽可能接近零。这可能吗?