2015-05-06 34 views
3

我一直在研究iOS的音頻單元託管指南,然後嘗試使用提供的示例項目。但是,所有這些項目都使用了棄用的AudioUnitSampleType(這似乎是一個簡單的typedef)。這可能是一個新手問題,但我怎樣才能改變它呢? 據我的理解,我應該根據目標iOS版本(當然,我想盡可能多地定位)用不同類型(SInt16或Float)替換它。所以我應該只寫一堆#ifndef或者我錯過了什麼?如何更換iOS(音頻單元)上棄用的AudioUnitSampleType?

回答

1

而不是猜測/ ifdef'ing,您應該獲得每個音頻單元的kAudioUnitProperty_StreamFormat屬性,並使用該iOS版本下該音頻單元的本機格式。最近iOS設備上的任何最新iOS版本都可能使用4字節浮點數,因爲最近的Apple A?處理器可以使用浮點數執行算術,與使用SInt16或SInt32數據相比,運算速度更快或更快。

+0

謝謝你的回答,非常感謝。 所以爲了清楚起見 - 爲了動態配置使用的正確格式,我需要聲明不同的結構,每個結構都是爲特定類型(SInt16或Float32)設計的,然後根據kAudioUnitProperty_StreamFormat屬性我正在處理。對? – nik4emniy

+0

在完成所有工作之前,請檢查您是否有任何iOS測試設備不使用浮動流格式進行報告。 – hotpaw2