【问题标题】:Playing streamed audio data (C#)播放流式音频数据 (C#)
【发布时间】:2011-07-18 11:51:23
【问题描述】:

我正在尝试使用 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 配置,然后将它们发送到服务器。

更新结束

谢谢。

【问题讨论】:

  • 当您说实际硬件时,您实际上要配置什么?
  • @Russ,请查看update 了解您的问题。谢谢。

标签: c# naudio directsound


【解决方案1】:

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

【讨论】:

  • 谢谢马克。如果对我有帮助,我会在这里检查并更新。
  • @Mark Heath 我知道我已经晚了好几年了,但是你有没有机会在这里提供一个最小的例子?该链接仍然可以让我访问您的源代码,但在我可以使用它来实现某些东西之前,它看起来需要处理大量代码。至少一个基本的演示会有所帮助。
猜你喜欢
  • 2018-03-28
  • 2013-01-19
  • 2010-09-16
  • 1970-01-01
  • 1970-01-01
  • 2012-09-02
  • 1970-01-01
  • 2014-06-06
  • 1970-01-01
相关资源
最近更新 更多