是否可以使用AVAudioPlayer
播放自定义声音(例如,我会生成正弦波然后播放)?
文档说AVAudioPlayer
可用于:
播放文件或内存缓冲区中的声音
但我找不到播放自定义生成声音的示例,只能找到从文件或互联网加载的内存缓冲区。是否可能,我在哪里可以找到更多?
谢谢:)
答案 0 :(得分:1)
经过大量搜索(搜索文档和谷歌搜索)后,我得出结论:
播放文件或内存缓冲区中的声音
指的是包含格式化音频数据的内存缓冲区。如果你的磁盘或互联网上的某个地方有MP3,你可以将它加载到内存缓冲区然后播放它。这就是他们的意思。如果要播放生成的声音,可以使用OpenAL或AudioUnits。
答案 1 :(得分:0)
您可以使用OpenAL执行此操作:
void* bufferData; // your generated sound
int bufferDataLength; // length
alGenBuffers(1, &bufferID);
alBufferData(bufferID, AL_FORMAT_MONO8, bufferData, bufferDataLength, 44100);