为什么会收到 kAudioUnitErr_FormatNotSupported (10868) 错误?

Ada*_*uer 2 core-audio ios

这一定是我遇到过的核心音频中最神秘的错误。当我在音频单元的输出上发送格式时,为什么会收到此错误?

是因为音频单元确实支持我正在使用的流格式,还是因为我所在的平台(即iOS)不支持该格式?

如果是前者,每个音频单元是否只支持特定格式?如果是这样,我在哪里可以找到该信息?

我正在尝试建立对音频单元和音频图的直观理解。这基本上是有道理的,但流格式却非常神秘。

jus*_*tin 5

\n

是因为音频单元确实支持我正在使用的流格式,还是因为我所在的平台(即iOS)不支持该格式?

\n
\n\n

可能是 AU——什么返回了错误代码?AudioUnitSetProperty

\n\n
\n

\xe2\x80\xa6是否每个音频单元仅支持特定格式?如果是这样,我在哪里可以找到该信息?

\n
\n\n

AU 可以支持多种格式。您必须询问 AU 它支持哪些格式(可能因版本而异)。为特定平台(例如 OS X 或 iOS)构建的 AU 通常支持操作系统的“规范”格式,并且可能支持其他格式。规范格式因平台而异。在 OS X 上,AU 很少偏离规范格式(解交错floatPCM);

\n\n

还要验证您是否正确设置了格式 - 您可以使用该格式在 iOS 上初始化任何AU,还是只是其中一个给您带来了麻烦?它是如何定义的?它是操作系统的规范格式吗?如果确实需要您想要的格式,您可能需要进行格式转换。

\n