我正在开发一个波形文件播放系统,但我无法使用正确的播放输出winmm.dll
我遇到的问题是:
- 播放突然停止。
- 播放速度加快或中断或两者兼而有之。
- 根本没有播放。
- “停止”方法导致系统挂起
Thread.Join
呼叫。
我确实意识到在 C#、WPF 中播放声音文件还有其他选择,但我正试图通过文件来实现它winmm.dll
,.wav
因为它可以让我*(我希望)构建特定的功能,例如:Wave File Visualization and Sound效果过滤器。
我看过这个代码项目链接:
它非常有见地,但我无法在 WPF 中获得类似的结果。我不确定问题是否与垃圾收集有关,垃圾收集从 Windows 窗体到 WPF 的工作方式不同。
这是我在 GitHub 上的项目:
Wave Player - 基础 - WPF 和 Windows 窗体
该解决方案有 2 个项目:一个是 Windows 窗体,另一个是 WPF。Windows 窗体项目工作正常,而 WPF 则不行。然而,这两个项目都使用相同的winmm.dll
代码逻辑。
我还在“波形音频”上找到了这个 Microsoft 链接:
任何帮助或建议将不胜感激。