我是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。
我的问题不是通过SDL_LoadWAV提供整个wav文件,我想传递PCM样本(可能是1024个样本)。(设计就像这样我将获得PCM样本)
但问题是,回调函数没有及时调用或者调用被延迟导致声音适合。我无法将数据传递给回调函数。
您能否建议一种将传递数据(Samples)同步到回调函数的方法,或者提供一些在样本中传递数据的应用程序?
答案 0 :(得分:0)
我们需要真正的价值观才能完全回答你的问题。
您尝试的缓冲区大小是多少?
还要意识到SDL通常不能提供您想要的功能,因此请检查实际的规格缓冲区大小。
我一直在Windows上使用SDL的二进制mingw32端口,无论我要求什么,都不会给我小于1秒的缓冲区。