gpt4 book ai didi

c++ - 使用 OpenAL 和 C++ 同步音频和视频播放

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:57:33 29 4
gpt4 key购买 nike

我正在尝试用 C++ 创建一个网络摄像头聊天程序,虽然我已经能够发送和播放要捕获的图像,但我在处理音频时遇到了问题:音频滞后且非常快与视频不同步,即使我只是自己播放。

我找到了 this答案和示例代码非常有用。

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

最佳答案

来自链接的代码:

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

尝试使用更大的缓冲区:

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

轮询是very aggressive .尝试在循环中 sleep :

while (!done) {
...
}

收件人:

int sleepSeconds = 1;
while (!done) {
...
Sleep(sleepSeconds/10) //windows, miliseconds
//sleep(sleepSeconds) //linux, seconds
}

关于c++ - 使用 OpenAL 和 C++ 同步音频和视频播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050839/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com