7

我需要 BlackBerry 10 应用程序中完美的无缝循环音频。我的循环存储为 WAV 文件。我用来播放它们的方法是:

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

音频在大多数情况下都可以正常播放,但在 UI 转换期间(例如背光熄灭或应用程序最小化时),音频会卡顿。

有什么想法可以确保音频始终流畅吗?

4

1 回答 1

3

你如何运行一个线程/进程来播放 WAV 文件?您是否有机会在该线程中处理优先事项和政策?

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

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

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

于 2013-07-05T04:10:23.830 回答