首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WPF音频操作

WPF音频操作
EN

Stack Overflow用户
提问于 2009-10-06 10:02:38
回答 3查看 1.4K关注 0票数 2

我想做一些稍微先进的音频播放使用标准的WPF应用程序。

我需要的是:

  • 平滑回路的能力
  • 变距
  • 一次播放多个声音

我对SoundPlayer类了解不够,因为它不能同时播放多个声音,所以我开始研究XNA SoundEffect类(以及类似的),但我不确定XNA和WPF之间的互操作性到底是如何工作的。

有人能在这里给我一点启示吗?

干杯马克

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-10-08 10:51:08

所以非常感谢库帮助大家,但是我最终通过使用XACT工具和XNA附带的音频框架解决了这个问题。

最后,我只需添加一个对XNA .Net库的引用并使用它们。一开始有些混乱,但最后,只要您不时地对AudioEngine对象调用Update(),它就会工作得很好。

您可以在您的音频项目中设置可编程变量(在XACT中),您可以使用c#手动操作这些变量,我使用屏幕上的鼠标x和y来调整音量和音调。

下面是教程的链接,很好地显示了这一点:http://blogs.msdn.com/coding4fun/archive/2007/04/27/2307521.aspx

-马克

票数 0
EN

Stack Overflow用户

发布于 2009-10-07 06:33:54

虽然您需要在核心库的基础上编写一些自定义代码,但是您可以使用NAudio实现所有这一切。

  1. 创建一个WaveStream派生类,在它的Read方法中,每当它运行完时,它就返回到源流的开始。
  2. 这是你最难的要求。你希望音频播放得更快,还是只想提高音高?看看Skype语音转换器的一个例子,使用NAudio来执行实时基音移位的DSP。
  3. 使用WaveMixerStream将多个WaveStreams混合在一起。
票数 2
EN

Stack Overflow用户

发布于 2009-10-06 10:11:10

看一看低音库

它有一个适用于WPF的.NET包装器,可以完成所有您正在寻找的事情。(虽然循环需要一些编码,但我认为您可以在他们的讨论论坛上找到这方面的例子)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1524666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档