我是多年经验丰富的 MFC 程序员,最近几年一直在为 Mac 和 iOS 使用 Objective C 开发商业应用程序 - 我正在努力跟上 .Net 和 C# 的速度(因为我我很快将需要将我的一个商业应用程序从 Mac 转换到 PC)。
我现在已经阅读了几本书并作为练习来更加熟悉 .Net(和 C#)我决定尝试将我的一个非商业应用程序转换为 .Net 作为一个学习练习,一切进展顺利(界面工作正常,数据结构都很好)但我需要能够播放音频。
我的 Mac 应用程序根据一系列数学公式生成音频 - 想象一个波形发生器 - 不完全相同但相似。在 Mac 上,我将音频生成为 16 位签名的原始音频,使用 Core Audio 设置音频输出路由,然后在音频路由需要新的音频缓冲区时获得回调(这样我就可以动态生成音频) .
我需要在 PC 上做同样的事情。不幸的是,我发现 MSDN 文档是一个“只见树木不见森林”的案例,因为有如此大量的文档。我可以找到可以让我加载和播放 mp3/wav 等文件的类,但我需要实时生成音频。任何人都可以指出正确的方向以找到可以让我在播放缓冲区时即时填充缓冲区的东西吗?
谢谢
最佳答案
我用过this sample在多个项目中取得了良好的效果。它基本上是 Windows Waveform Audio API 的 .Net 包装器使用 P/Invoke . 其他选择:
- NAudio
- Sound Player来自 .Net 框架的类
关于c# - 在 .Net/C# 中播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6739306/