Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用OpenAL&;同步音频和视频播放;C++; 我试图在C++中创建一个网络聊天程序,虽然我已经能够把图像发送和播放,但我在使用音频时遇到了麻烦:音频延迟和很快的视频同步,即使我只是自己播放。_C++_Openal - Fatal编程技术网

使用OpenAL&;同步音频和视频播放;C++; 我试图在C++中创建一个网络聊天程序,虽然我已经能够把图像发送和播放,但我在使用音频时遇到了麻烦:音频延迟和很快的视频同步,即使我只是自己播放。

使用OpenAL&;同步音频和视频播放;C++; 我试图在C++中创建一个网络聊天程序,虽然我已经能够把图像发送和播放,但我在使用音频时遇到了麻烦:音频延迟和很快的视频同步,即使我只是自己播放。,c++,openal,C++,Openal,我发现答案和示例代码非常有用 我是否可以对这段代码进行任何修改,使其几乎没有延迟,或者OpenAL不适合这样做?我正在使用Windows,但我计划以后再制作linux版本。从代码链接: ALCdevice* inputDevice = alcCaptureOpenDevice(NULL,FREQ,AL_FORMAT_MONO16,FREQ/2); 尝试使用更大的缓冲区: ALCdevice* inputDevice = alcCaptureOpenDevice(NULL,FREQ,AL_FOR

我发现答案和示例代码非常有用

我是否可以对这段代码进行任何修改,使其几乎没有延迟,或者OpenAL不适合这样做?我正在使用Windows,但我计划以后再制作linux版本。

从代码链接:

ALCdevice* inputDevice = alcCaptureOpenDevice(NULL,FREQ,AL_FORMAT_MONO16,FREQ/2);
尝试使用更大的缓冲区:

ALCdevice* inputDevice = alcCaptureOpenDevice(NULL,FREQ,AL_FORMAT_MONO16,FREQ*4);

投票结果令人失望。尝试在循环中睡眠:

while (!done) {
    ...
}
致:


你能公布你目前使用的实际代码吗?(或者它是链接帖子中代码的逐字复制?“滞后”-音频是断断续续的,还是只是延迟了?通过链接的设置,它被延迟了
int sleepSeconds = 1;
while (!done) {
    ...
    Sleep(sleepSeconds/10) //windows, miliseconds
    //sleep(sleepSeconds) //linux, seconds
}