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