【问题标题】:Playing multiple streams using libpulse使用 libpulse 播放多个流
【发布时间】:2014-03-26 08:39:19
【问题描述】:

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

【问题讨论】:

    标签: c audio pulseaudio


    【解决方案1】:

    我通过实现这个得到了解决方案。 libpulse API

    同步多个播放流

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      • 2014-09-07
      • 2013-08-24
      相关资源
      最近更新 更多