我目前正在开发一个网络广播应用程序,如果用户按下暂停/停止键,流应该停止,当然,当他再次按下播放时,流应该继续。
我遇到的问题是, player.Stop() 只会暂停曲目。如果再次按下继续,前 5 秒不是从流中读取,而是从缓冲区中读取,然后它会在几秒钟内不播放声音,然后再次开始从流中读取。
这对于网络广播应用程序来说是致命的。我该如何解决?或者我怎样才能删除缓冲区?
protected override void OnPlayStateChanged(BackgroundAudioPlayer player, AudioTrack track, PlayState playState)
{
switch (playState)
{
case PlayState.TrackReady:
player.Play();
break;
case PlayState.Stopped:
player.Stop();
break;
case PlayState.Paused:
player.Stop();
break;
}
NotifyComplete();
}