播放流式音频数据(C#)

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

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

在搜索时,我了解了NAudio 。 NAudio能否做到这一点,或者对我来说更好的选择是使用Directsound APIS切换到nativ C / C ++代码。

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

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

更新结束

谢谢。

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