2

我是一名 Unity 开发人员,需要帮助同事在 Obj-C 中本地执行此操作。在 Unity 中这没什么大不了的:

1) 样本作为 float[] 的列表存储在内存中

2)辅助函数在任何给定偏移处为任何给定样本返回 n 大小的 float[]

3)如果需要,另一个辅助函数会淡化数据

4) 创建一个大小合适的 AudioClip 对象以容纳所有剪切样本,然后以适当的偏移量填充。

5)AudioClip被分配给一个播放器组件(AudioSource)。

6)AudioSource.Play(ulong offsetInSamples),在未来的采样准确时间播放。循环也只是设置 AudioSource 对象的循环参数。

如果有人能指出正确的类以在 iOS 设备的 Obj-C 中实现类似结果,我将不胜感激。我很确定很多 iOS 音频新手也会感兴趣。提前谢谢了!

格雷佐

4

1 回答 1

3

此处对 iOs 中可用的相关音频 API 进行了很好的概述

对于将音频剪辑拼凑在一起、设置它们的音量级别并在您的情况下播放它们有意义的最高级别的框架可能是AVFoundation.

它将涉及创建AVAssets,将它们添加到AVPlayerItems,可能将它们放入AVMutableCompositions 以将多个项目合并在一起并调整它们的音量 ( audioMix),然后用 s 回放它们AVPlayer

AVFoundation 与 AVAsset 一起使用,用于在您想要查看的相关格式和较低级别的字节之间进行转换AudioToolbox(我还不能发布两个以上的链接)。

对于控制较少的稍微简单的 API,请查看AVAudioPlayer. 如果您需要更好的控制(例如:游戏 - 实时/低延迟),您可能需要使用 OpenAL 进行播放。

于 2013-01-20T12:48:27.847 回答