iphone - openAL 获取/设置偏移量(以秒为单位)

标签 iphone ios ipad audio openal

我使用 OpenAL 来播放背景音乐。在某一时刻,我需要获得轨道上的准确当前位置。我尝试使用 alGetSourcef(_source, AL_SEC_OFFSET, &offset); 并且它在 iOS 4 上完美运行,但在 iOS 3 上它返回一个 int (没有小数位)。这不够准确,因为我需要精确到至少 3 位小数(然后我使用此偏移信息跳转到轨道上的另一个点,向下舍入的值意味着它最终会跳转到不准确的位置)。

是否可以获取 AL_SAMPLE_OFFSETAL_BYTE_OFFSET,然后将该值转换为秒?

声音文件:16位PCM WAV,采样率为22050。

最佳答案

采样率为每秒 22050 个样本,您只需将样本偏移量除以 22050 即可得到时间。

关于iphone - openAL 获取/设置偏移量(以秒为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6626095/

相关文章:

iphone - 我应该使用什么设备来测试iPhone应用程序

ios - iPad 在 Landscape 中启动仅接收 768x768 内的触摸

iphone - 重新排列时 UITableView 单元格刷新问题

ios - XCTestExpectation 不等待给定的时间

ios - 以编程方式检测正在使用的开发或生产推送通知证书

ios - 在 Xcode 8.3 beta_2 上为体系结构 'com.apple.compilers.llvm.clang.1_0' 选择了不受支持的编译器 'x86_64'

ios - 主详细信息应用程序未加载 UIViewControllers

iphone - 如何将小写字段添加到 NSURLRequest header 字段?

iphone - 使用带有 CMMotionManager 的串行队列

iphone - iOS Web App - 如何处理过度的应用程序缓存?