我试图使用 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 配置,然后将它们发送到服务器。
更新结束
谢谢。