这甚至可能吗?如果某种程度上我设法在每次处理缓冲区时调用一个函数,那将会非常酷。除了对来源进行投票之外的任何其他想法都受到欢迎:D
答案 0 :(得分:0)
您知道每个缓冲区中有多少样本,并且您知道源正在播放的采样率。这应该让你很清楚源何时完成缓冲区的处理。
如果您感觉非常强悍,可以将其破解为OpenAL-soft源。根据代码的外观,您可以将更改放在文件最末端的mixer.c
,即MixSource()
函数末尾附近。
当然,记住OpenAL-soft是lGPL;因此,您需要释放/提供您对库本身所做的任何更改。
如果您使用预先包含的库,那么您没有很多选择。 OpenAL拒绝回调函数的想法。