C++从字节数组实时播放音频

C++ playing audio live from byte array

本文关键字:实时 播放 音频 数组 字节数 字节 C++      更新时间:2023-10-16

我正在使用C++,并且有音频的采样率、通道数和位深度。我还有一个包含我要播放的音频的字符数组。我正在寻找类似的东西,发送四分之一秒(或其他一些短量的音频(来播放,然后发送更多,等等。这是否可能,如果是,将如何完成。

感谢您的任何帮助。

我之前用库OpenAL做过这个。

这将需要一个非常复杂的答案,希望 OpenAL 文档可以引导您完成所有内容,但这是我编写的源示例,它从 nodejs 中的喃喃自语服务器播放音频流。

您可能需要提出更具体的问题才能获得更好的答案,因为这是一个相当大的主题。列出您可能正在使用的其他技术也可能会有所帮助,例如目标操作系统以及您是否已经在使用任何库。许多桌面和游戏引擎已经有用于播放简单声音的 api,使用 OpenAL 可能比您真正需要的要复杂得多。

但是,简而言之,解决方案的步骤是:

  • 枚举设备
  • 捕获设备
  • 将数据流式传输到设备
    • 将音频排队以缓冲alSourceQueueBuffers
    • 播放排队缓冲区alSourcePlay