SDL-有时无法及时调用音频回调函数



我是SDL的新手。我正在使用SDL开发一个媒体播放器,现在我遇到了音频回调函数有时调用不及时,导致音频有点断断续续的问题。

我用这样一段代码打开音频设备:

wanted_spec.xxx = xxx;
wanted_spec.callback = audio_callback;    //audio_callback is my audio callback function
SDL_OpenAudio(&wanted_spec, &spec);

我的操作系统是Windows XP。

你知道吗?有人能建议如何将数据馈送同步到0延迟的回调函数吗。

我的问题是,我想传递PCM样本(可能是1024个样本),而不是通过SDL_LoadWAV提供整个wav文件。(设计是这样的,我会得到PCM样品)

但问题是,回调函数并没有被及时调用,或者调用被延迟,导致声音时断时续。我无法将数据同步传递给回调函数。

你能建议一种将传递数据(示例)同步到回调函数的方法吗?或者提供一些在示例中传递数据的应用程序吗?

我们需要真正的值来完全回答您的问题。

您尝试的缓冲区大小是多少?

还要意识到SDL通常不会给你想要的东西,所以请检查实际的规范缓冲区大小

我一直在windows上使用SDL的二进制mingw32端口,无论我请求什么,它都不会给我小于1秒的缓冲区。

最新更新