,我们无法使用alSourcePause()
来暂停声音,并且在任何情况下我们可能都希望以偏移量开始声音。Mac OS X上的OpenAL:设置AL_SAMPLE_OFFSET在工作时不执行任何操作
我们通过执行alSourcei(this->sourceId, AL_SAMPLE_OFFSET, this->sampleOffset);
执行“简历”,并使用alGetSourcei()
检索到的样本偏移量。我们尝试使用AL_SEC_OFFSET
,AL_BYTE_OFFSET
和AL_SAMPLE_OFFSET
- 无济于事。我们已经读过声源需要处于“初始”状态;重新创建源代码并附加缓冲区,然后试图跳过也没有帮助。
更改缓冲区以跳过AL_BYTE_OFFSET
不是解决方案,因为它使循环复杂化。
串流声音在较慢的机器上跳过;我们无法实现多线程播放。
由于我们的日程安排紧张,在OS X上的OpenAL上跳过一部分简单声源的最佳方法是什么?
源代码可在our Sourceforge repository。
我旧工作场所的人们在几天前检查了这一点,他们很满意这个解决方案。所以,差不多两年后,这里是绿色的复选标记! :-) – 2013-04-14 15:13:21