1

我有一个 windows phone 8 应用程序,它使用 BackgroundAudioPlayer 从远程位置或本地文件播放音频流。我现在希望能够添加音频效果,例如混响或回声等...

请你能告诉我如何做到这一点吗?即使我已经阅读了很多关于 WASAPI、XAudio2 的内容并查看了许多代码示例,我仍然无法找到将额外的音频处理代码连接到音频处理管道中的方法。

请注意,该应用程序是用 C# 编写的,但是根据我之前编写音频处理代码的经验,我知道我应该使用本机 C++ 编写音频代码。粗略地说,我需要找到一个包含原始 PCM 数据的音频缓冲区的点,我可以将其用作我的音频处理代码的输入,然后将其写回同一个缓冲区或另一个由音频处理的下一阶段。需要有办法将我的代码中发生的事情与手机的其他音频处理机制同步,当然,这个过程需要非常快,以免造成音频故障。或类似的东西; 我已经习惯了 VST 的工作方式,而不是这些事情在 Windows Phone 世界中的工作方式。

期待看到你的建议...

亲切的问候,

马特·戴利

4

1 回答 1

1

我需要找到一个包含原始 PCM 数据的音频缓冲区的点

AFAIK没有这样的意义。这个 MSDN 页面暗示音频/视频解码不是由操作系统执行的,而是由高通芯片本身执行的。

您可以使用 Mp3Sharp 之类的东西进行解码。这样,您的托管代码将在 CPU 上对 mp3 进行解码,您可以随意干预/处理,然后将 PCM 输入媒体流源。主要缺点 - 电池寿命:硬件提供的编解码器应该更节能。

于 2014-01-14T21:55:20.620 回答