gpt4 book ai didi

c++ - Linux/阿尔萨 : Callback when frame is written to sound card

转载 作者:太空宇宙 更新时间:2023-11-04 10:00:26 25 4
gpt4 key购买 nike

我是声音编程和 ALSA 的新手。我想创建一个小应用程序,例如,当使用 snd_pcm_writei(...) 将一帧数据写入 ALSA 时,它会打印到控制台。这可能吗?如果可能的话,怎么做?目前我正在考虑向 ALSA 注册一个回调,以便当应用程序调用 snd_pcm_writei(...) 时执行回调。但我不确定它是如何工作的。

最佳答案

你可以使用

  • 阻塞模式(默认),其中 snd_pcm_write*() 仅在所有数据都已写入环形缓冲区(或发生错误时)时返回), 或
  • 非阻塞模式(打开时使用SND_PCM_NONBLOCKsnd_pcm_nonblock() 启用),您可以在其中使用poll ()/epoll() 等获取通知。

使用 ALSA 异步处理程序仅适用于某些设备,并且具有信号处理程序的所有缺点;它已被弃用。

关于c++ - Linux/阿尔萨 : Callback when frame is written to sound card,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56756344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com