【发布时间】:2011-07-30 12:11:04
【问题描述】:
我正在熟悉如何使用 AudioUnit 播放声音,但对数据包和帧的概念感到困惑。我想知道:
AudioUnit上下文中包和帧的定义是什么
每个数据包使用多个样本和每帧多个数据包的交易是什么
我问的原因:在我目前看到的所有代码示例中,数据包本质上是一个示例,对于 16 位立体声流,通常 mBytesPerPacket=4。而 mFramesPerPacket 通常为 1,构成一个帧、一个数据包和一个样本(都是立体样本),相同的概念。
我期望一个数据包和/或一个帧是样本缓冲区,即一组 256 或 512 个连续样本,驱动程序可以指向并线性读取这些样本。将帧/数据包大小减少到一个样本似乎会给负责播放数据的任何驱动程序带来不必要的压力。我错过了什么?
【问题讨论】:
标签: cocoa audio frame packet audiounit