是否可以在没有口吃的情况下播放无间隙的循环WAV文件?

don*_*ner 7 audio openal wav qnx blackberry-10

我需要在BlackBerry 10应用程序中使用完美的无间隙循环音频.我的循环存储为WAV文件.我用来玩它们的方法是:

  1. 为WAV文件创建一个缓冲区,使用alutCreateBufferFromFile该缓冲区返回abufferID
  2. 使用创建声源 alGenSources
  3. 使用缓冲区将缓冲区附加到源 alSourcei(source, AL_BUFFER, bufferID)
  4. 使用将源循环属性设置为true alSourcei(source, AL_LOOPING, AL_TRUE)
  5. 使用播放源 alSourcePlay(source)

音频在大多数情况下都能正常播放,但在UI过渡期间(例如当背光灯熄灭或应用程序最小化时),音频会断断续续.

我有什么想法可以确保音频一直很流畅吗?

Sun*_*ker 3

如何运行播放 WAV 文件的线程/进程?您是否有机会通过该主题讨论优先事项和政策?

我认为这些允许更改进程(实际上是线程)优先级和策略的低级系统调用可能会有所帮助:

另外,请查看相应的文档页面:

我首先将策略设置为 FIFO,并提高播放音频文件的进程的优先级。希望能帮助到你。