作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
下面的“2”代表什么:
SLDataLocator_AndroidSimpleBufferQueue loc_bq =
{SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 2};
根据我的阅读,它是缓冲区的数量。
为什么是 2?为什么不只是 1 ?如果 2 更好,为什么不是 10 使它更好?
谢谢
最佳答案
Why 2?
如果您有 2 个缓冲区,您可以在另一个缓冲区播放时用新数据填充其中一个。此外,直到最近,如果您希望能够使用 Android 的低延迟音频路径,您还需要在缓冲区队列中至少有 2 个缓冲区。
Why not just 1 ?
如果您只有一个缓冲区,用新数据填充缓冲区会变得非常棘手,因为您可能无法足够快地生成新数据。
And if 2 is better, why not 10 then to make it even better?
随着缓冲区数量的增加,延迟也会增加(从缓冲区入队到播放缓冲区的时间),假设缓冲区大小保持不变。
关于android - 什么是 SLDataLocator_AndroidSimpleBufferQueue (Android 4.3)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21994361/
下面的“2”代表什么: SLDataLocator_AndroidSimpleBufferQueue loc_bq = {SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUE
我是一名优秀的程序员,十分优秀!