是否可以使用AVAudioPlayer
播放自定義聲音(例如,我將生成正弦波然後播放它)? 的文檔說AVAudioPlayer
可用於:是否有可能使用AVAudioPlayer和initWithData:error:播放生成的聲音?
Play sounds from files or memory buffers
但我找不到例如玩定製產生的聲音,只對從文件或互聯網加載的內存緩衝區。是否有可能,我可以在哪裏找到更多?
謝謝:)
是否可以使用AVAudioPlayer
播放自定義聲音(例如,我將生成正弦波然後播放它)? 的文檔說AVAudioPlayer
可用於:是否有可能使用AVAudioPlayer和initWithData:error:播放生成的聲音?
Play sounds from files or memory buffers
但我找不到例如玩定製產生的聲音,只對從文件或互聯網加載的內存緩衝區。是否有可能,我可以在哪裏找到更多?
謝謝:)
經過大量的搜索(包括搜索文檔和谷歌搜索),我得出的結論是這樣的:
Play sounds from files or memory buffer
指的是包含格式化音頻數據的內存緩衝區。如果您的磁盤或互聯網上有MP3,則可以將其加載到內存緩衝區中,然後播放它。這就是他們的意思。如果你想播放你生成的聲音,你可以使用OpenAL或AudioUnits。
你可以用OpenAL的做到這一點:
void* bufferData; // your generated sound
int bufferDataLength; // length
alGenBuffers(1, &bufferID);
alBufferData(bufferID, AL_FORMAT_MONO8, bufferData, bufferDataLength, 44100);
謝謝,但是我只對AVAudioPlayer能做到這一點感興趣;) – xx77aBs