1

我试图使用 C# 开发一个可以播放流式音频数据的 Windows 应用程序。基本上,我将有一个负责播放不同音频文件的客户端应用程序。目前,从客户端应用程序中,我从文件头中提取硬件配置参数,然后通过网络传输文件数据(PCM 流)。

那么是否可以使用从客户端发送的硬件配置参数来配置实际的硬件(在服务器端),然后将文件数据流提供给它,以便它可以播放音频数据。

在搜索的过程中,我了解了NAudio. NAudio 是否能够做这些事情,或者对我来说更好的选择是使用 Directsound APIS 切换到 nativ C/C++ 代码。

更新: 通过配置硬件,我的意思是设置与音频播放相关的参数。这些参数将包括sample rate(例如:44100 Hz)、number of channels(例如:立体声)、storage format(例如:16 位小端)等。

我的客户端应用程序在 Linux 上,我已经植入了一个 ALSA 驱动程序,它拦截 PCM 流和 hw_params 配置,然后将它们发送到服务器。

更新结束

谢谢。

4

1 回答 1

2

如果您查看最新的 NAudio 代码,您将看到 NAudioDemo 示例应用程序中有两个示例播放流式音频。一个是基本的聊天应用程序,它通过 UDP 发送压缩语音,另一个播放流式 MP3 互联网广播。我建议您看一下并尝试示例应用程序,看看它是否满足您的需求。

于 2011-07-18T12:46:45.180 回答