我使用 OpenAL 播放背景音乐。在某一时刻,我需要获得赛道上的确切当前位置。我尝试使用 alGetSourcef(_source, AL_SEC_OFFSET, &offset); 并且它在 iOS 4 上完美运行,但在 iOS 3 上它返回一个 int (没有小数位)。这不够准确,因为我需要至少精确到小数点后 3 位(然后我使用此偏移信息跳转到轨道上的另一个点,向下舍入的值意味着它最终会跳转到不准确的位置)。
是否可以获取 AL_SAMPLE_OFFSET 或 AL_BYTE_OFFSET 然后将该值转换为秒?
声音文件:16bit PCM WAV,采样率为 22050。
Best Answer-推荐答案 strong>
对于每秒 22050 个样本的采样率,您只需将样本偏移量除以 22050 即可得到时间。
关于iphone - openAL 以秒为单位获取/设置偏移量,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/6626095/
|