使用libpulse播放多个流

时间:2014-02-24 15:27:54

标签: c audio pulseaudio

如何使用audio播放多个libpulse流。我知道可以通过汇总多个流并使用libaudio进行播放,但是可以在lib pulse api上编写多个流并让PulseAudio进行求和吗?

1 个答案:

答案 0 :(得分:0)

我通过实施这个来获得解决方案。 libpulse API

同步多个播放流

  

PulseAudio允许应用程序完全同步多个播放   连接到同一输出设备的流。这意味着   流将始终以同步方式逐个播放。如果   诸如pa_stream_cork()之类的流操作是在其中一个上发布的   同步流,它们同时发布在其他流上。至   将流同步到另一个流,只需将“主”流传递给最后一个   pa_stream_connect_playback()的参数。要确保   新创建的流不会立即开始播放,请确保   传递PA_STREAM_START_CORKED并且 - 在创建所有流之后    - 只需调用一次pa_stream_cork()即可将它们全部解开   主流。确保特定流不会停止   当服务器端缓冲区欠载发生在另一个上时播放   同步流继续播放,因此偏离,你需要   连接时传递“prebuf”pa_buffer_attr为0。