标签: c++ c audio openal
我已经成功加载并播放了一个声音片段,但是想在应用程序运行时从磁盘更新它。我为我的剪辑再次调用alBufferData但是获得了无效操作错误。旧的和新的声音片段都是有效的并且孤立地工作,它只是重新加载失败。如何为剪辑重新加载声音数据?我在OS X上使用OpenAL,但是在使用OpenAL-soft的Windows上也记得遇到同样的问题。
答案 0 :(得分:1)
在alSourcei( srcID, AL_BUFFER, 0 );之前调用alBufferData()解决了问题。
alSourcei( srcID, AL_BUFFER, 0 );
alBufferData()