以下函數調用在OpenAL 1.1中已棄用,什麼是正確的替換?我唯一能回答的地方就是「寫你自己的功能!!」 ;-)替換爲alutLoadWAV文件
alutLoadWAVFile
alutUnloadWAV
以下函數調用在OpenAL 1.1中已棄用,什麼是正確的替換?我唯一能回答的地方就是「寫你自己的功能!!」 ;-)替換爲alutLoadWAV文件
alutLoadWAVFile
alutUnloadWAV
「寫你自己」是非常正確的答案。
因爲大多數實現仍然包含WAV文件處理函數,所以您通常可以避免使用棄用的函數,但有一個值得注意的例外是iOS,您需要使用它來使用音頻文件服務。
我建議爲「加載wav文件」製作標準原型,然後根據操作系統使用不同的加載例程。您可以通過調用alutLoadWAVFile來存儲已知仍支持它的系統。
ALUT中有8個文件加載函數(不包括三個棄用函數alutLoadWAVFile
,alutLoadWAVMemory
和)。
該函數的前綴決定數據的去向;其中四個開始alutCreateBuffer
(創建一個新的緩衝區並將聲音數據放入其中),另外四個開始alutLoadMemory
(分配一個新的內存區域並將聲音數據放入其中)。
該函數的後綴決定了數據的來源。您的選項是FromFile
(來自文件!),FromFileImage
(來自內存區域),HelloWorld
(修復某人說「Hello,world!」的內部數據)和Waveform
(生成波形)。
我相信alutLoadWAVFile
的正確替代品因此將是alutCreateBufferFromFile
。但是,我不會盲目地使用它 - 它適用於短聲音剪輯,但例如,一個音樂曲目,你可能想要加載它在塊和排隊多個緩衝區,以減輕內存負載。順便說一句,這些功能都在alut documentation中。