3

我编写了一个应用程序,它从中央服务器接收媒体文件并根据播放列表播放这些文件。一切正常。一位客户与我们联系并希望使用我们的应用程序在信息亭式应用程序中播放一些音频文件作为演示文稿。到目前为止,一切都很好,我们的应用程序可以毫无问题地处理这个问题。

作为一项潜在功能,他要求我们在信息亭的前面有多个耳机插孔。每个耳机插孔将以不同的语言播放相同的音频演示。

我想出了用多种语言对单个音频文件进行编码的想法,每种语言在不同的频道中。然后我们需要一个声卡,它可以解码每个通道并将其输出到不同的耳机插座上。问题是,虽然我认为这个理论是合理的,但我完全不知道这是否可行以及需要什么来实现它。

有任何想法吗?!

附带说明:该应用程序使用媒体播放器作为底层组件来处理音频和视频的播放。对于我们可以用来生成多声道音频流的软件和我们可以用来解码流的硬件(USB 声卡就可以了),我将不胜感激。谢谢!

4

2 回答 2

2

您需要使用多个文件而不是频道,这样会更容易。
而不是使用媒体播放器使用DirectShow(在 .NET 上你有DirectShow.NET),在 DirectShow 中你有多个文件在同一个图表上的符号。

您将能够控制在哪个音频设备上播放哪些文件,并且您的播放、暂停、停止命令将对所有文件执行,而无需担心同步。有很多关于如何使用 DiectShow 构建媒体播放器的示例,将它们扩展为使用多个文件应该非常容易。

对于硬件,请查看(带有 8 个输出通道的 USB)

于 2009-04-21T20:06:24.957 回答
2

我认为使用 Shay 的硬件,您可以获得完整的解决方案:在每个通道上使用不同的单声道音轨对 7.1 文件进行编码。在 7.1 模式下使用 8 通道输出设备,在每个端口上使用不同的耳机,就可以了。或者,如果您只有 6 种语言,则可以使用 5.1 文件。许多 PC 内置 5.1 输出,您只需要 3 个分配器即可从每个插孔中分离出左右声道。

您可以使用Windows Media Encoder或其他专业音频工具进行编码。

于 2009-04-23T21:59:05.580 回答