2012-02-05 109 views
1

這是我遇到的核心音頻中最神祕的錯誤。當我在音頻單元的輸出上發送格式時,爲什麼會出現此錯誤?爲什麼我得到kAudioUnitErr_FormatNotSupported(10868)錯誤?

這是因爲音頻單元是否支持我正在使用的流格式,還是因爲我所在的平臺(即iOS)不支持該格式?

如果是前者,每個音頻單元是否只支持特定格式?如果是這樣,我在哪裏可以找到這些信息?

我試圖建立一個對音頻單元和音頻圖形的直觀理解。它主要是有道理的,但流格式令人難以置信的神祕。

回答

3

是因爲音頻單元確實支持我使用的流格式,還是因爲我所在的平臺(即iOS)不支持格式?

可能是非盟 - 什麼是返回錯誤代碼? AudioUnitSetProperty

......每個音頻單元是否只支持特定格式?如果是這樣,我在哪裏可以找到這些信息?

AU可以支持多種格式。你必須問AU它支持哪些格式(可能因版本而異)。針對特定平臺(例如OS X或iOS)構建的AU通常支持OS的「canonic」格式,並可能支持其他平臺。 canonic格式因平臺而異。在OS X上,AU很少偏離典範格式(去交錯float PCM);

此外,請驗證您是否正確設置格式 - 您是否可以使用該格式在iOS上初始化任意 AU,或者只是給您帶來麻煩?它是如何定義的?它是操作系統的canonic格式嗎?如果您想要的格式非常必要,則可能需要格式轉換。

0

音頻單元支持不同平臺上的不同格式。您可以通過嘗試一種格式查詢音頻單元並檢查不支持的格式錯誤 消息。