C# 抓取NAudio WaveOutEvent正在传输的当前帧,而不提前读取

C# 抓取NAudio WaveOutEvent正在传输的当前帧,而不提前读取,c#,naudio,C#,Naudio,我有一个简单的使用NAudio的MusicPlayer类。我有一个WaveOutEvent正在播放一首来自Mp3FileReader的歌曲。我想玩一些可视化,所以我想抓住当前帧数据。我很想从WaveOutEvent获取原始输出波形数据,但我也可以从Mp3FileReader获取当前的Mp3帧并对其进行解压缩 看起来Mp3FileReader.ReadNextFrame()可以工作,但会使曲目前进,我想这会导致播放时出现口吃。我还考虑过创建第二个Mp3FileReader,将其提升到主读卡器的当前

我有一个简单的使用NAudio的MusicPlayer类。我有一个WaveOutEvent正在播放一首来自Mp3FileReader的歌曲。我想玩一些可视化,所以我想抓住当前帧数据。我很想从WaveOutEvent获取原始输出波形数据,但我也可以从Mp3FileReader获取当前的Mp3帧并对其进行解压缩

看起来Mp3FileReader.ReadNextFrame()可以工作,但会使曲目前进,我想这会导致播放时出现口吃。我还考虑过创建第二个Mp3FileReader,将其提升到主读卡器的当前位置,并使用ReadNextFrame,但我不确定“搜索和抓取”是否足够快,以达到预期效果

有没有一种方法可以在不影响回放的情况下捕获我在NAudio中寻找的数据

可能没有必要,但这是适用的代码

            Song = new Mp3FileReader(Parent.MusicReference[PlayList[0]].Name);
            Player.Init(Song);
            Player.Play();
            Parent.UpdateFrame = true;