抓取NAudio WaveOutEvent流式传输的当前帧而无需提前读取

问题描述

我有一个使用NAudio的简单MusicPlayer类。我有一个WaveOutEvent播放来自Mp3FileReader的歌曲。我想玩一些可视化,所以我想获取当前的帧数据。我很想从WaveOutEvent中获取原始的输出wave数据,但我也可以从Mp3FileReader获取当前的Mp3帧并将其解压缩。

看来Mp3FileReader.ReadNextFrame()可以正常工作,但可以加快音轨的速度,我认为这会导致播放过程中出现卡顿现象。我还考虑过创建第二个Mp3FileReader,将其前进到主要阅读器的当前位置,并使用ReadNextFrame,但是我不确定“搜索和抓取”是否足够快以提供所需的效果

是否可以在不影响播放的情况下捕获我在NAudio中寻找的数据?

可能不是必需的,但这是适用的代码

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)