通常聲音合成播放,需要播放音頻流。 而播放音頻流的思路如下圖:
獲取音頻文件流,使用 ASIHTTPRequest 從服務器下載音頻文件,或者使用NSFileHandle 讀取本地音頻文件。
解析文件流,使用 Audio File Stream Service 解析,獲取音頻數據。
音頻解碼,使用 AudioConverterRef 把音頻從壓縮格式轉換成線性PCM格式。
播放音頻數據,在mixer unit 設置音頻輸入channel 和 獲取音頻的回調方法。