0

当播放期间发生欠载时,是否有可能通过 ALSA(通过回调或类似方式)通知?

我会使用 snd_async_handler_t 但不幸的是snd_async_add_pcm_handler()失败,告诉我这个函数没有实现。

4

1 回答 1

1

ALSA 在读取当前位置之前不会注意到发生了欠载,这会发生

  • 当您的应用程序调用需要该位置的 ALSA 函数时,或
  • 在中断处理程序中,它将唤醒任何当前等待的 snd_pcm_write*() 调用。

因此,在实践中,单独的通知是没有意义的。

通常,您只需检查 snd_pcm_write*() 的返回值,或显式调用 snd_pcm_status()。

于 2012-05-30T11:31:24.853 回答