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