2013-04-17 3 views
2

C++에서 웹캠 채팅 프로그램을 만들려고하는데 캡처 된 이미지를 가져 와서 재생할 수있는 동안 동일한 작업을 수행하는 데 문제가 있습니다. 오디오 : 오디오가 느려지고 아주 빨리 비디오와 동기화되지 않습니다. 심지어 내가 혼자서 그것을 연주했을 때조차도.OpenAL 및 C++로 오디오 및 비디오 재생 동기화하기

나는 대답 this 대답과 샘플 코드가 정말 유용하다고 알았습니다.

이 코드를 거의 지연시키지 않고 수정할 수 있습니까? 그렇지 않을 경우 OpenAL입니까? Windows를 사용하고 있지만 나중에 Linux 버전을 만들 계획입니다. 링크 된 코드에서

+0

당신이 현재하시기 바랍니다 사용하는 실제 코드를 게시 할 수 있습니까? (또는 링크 된 포스트에서 문자 그대로 문자 그대로 축약 된 코드 사본입니까?) – RJFalconer

+0

"지연"- 오디오가 끊깁니 까 아니면 지연 되었습니까? – RJFalconer

+0

링크의 설정으로 인해 지연되었습니다. – ryco117

답변

0

:

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

큰 버퍼를 사용해보십시오 :

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

폴링은 very aggressive입니다. 루프에서 잠을 시도해보십시오

while (!done) { 
    ... 
} 

사람 :

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