对于实时音频读取或播放,您通常会创建一个专用的高优先级工作线程来调用,然后利用一些环形缓冲区。你的线程应该避免锁定。
阿尔萨的例子:
http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2latency_8c-example.html#a36
http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html
如果您只是从磁盘读取,则需要足够的缓冲区,然后醒来并看看是否需要在下次醒来之前读取更多内容(考虑总延迟)。
| 归档时间: |
|
| 查看次数: |
2707 次 |
| 最近记录: |