我想這樣做很簡單:從內存中播放PCM音頻數據。哪個API可以在ios和osx中從緩衝區播放音頻?
音頻採樣將來自聲音合成算法,預先加載的示例文件或其他。我的問題是如何播放緩衝區,而不是如何填充數據。
所以我在尋找最好的方式來重新實現我老了,過時AudioWrapper(這是基於AudioUnits V1),但我無法在發現Apple Documentation將履行以下的API:
- 與10.5到10.7兼容。
- 可在ios中使用。
- 不依賴於第三方庫。
- 是未來的證明(例如:不基於碳,64位......)。
我在考慮使用OpenAL,但它真的是最好的選擇嗎?我看過negative opinions,它可能太複雜和過度,可能會增加性能開銷?如果可能的話,我真的希望避免每個系統都有一個版本(ios,10.5,10.6,10.7 ...)。此外,它將在C++中。
編輯:我需要一個好的等待時間,系統必須響應用戶交互在小於20 ms(緩衝器必須是128和512之間的樣本在44KHz的)
OpenAL增加了一些開銷,並且安裝需要比使用本地音頻API更長的時間,所以在iOS上我建議使用AudioQueues或AVFoundation。 – lucius 2012-02-09 23:24:59