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