
OpenAL 소스 정지 함수인 `openal_source_stop`은 소스를 즉시 정지시키지 않고, 소스가 현재 재생 중인 위치에서 정지시킵니다. 따라서 소스를 정지한 후 다시 시작할 때 발생하는 오류를 해결하려면 소스를 정지한 후 소스를 다시 초기화해야 합니다.
소스를 정지하고 다시 시작하기 위한 일반적인 방법은 다음과 같습니다.
1. 소스를 정지합니다: `openal_source_stop(source)`
2. 소스를 초기화합니다: `openal_source_unqueue(source)`
3. 소스를 다시 큐에 추가합니다: `openal_source_queue(source, buffer, loop)`
4. 소스를 다시 시작합니다: `openal_source_play(source)`
또한, 소스를 정지하기 전에 소스가 현재 재생 중인지 확인하는 코드를 추가하여 오류를 방지할 수 있습니다.
#hostingforum.kr
c
if (openal_source_is_playing(source)) {
openal_source_stop(source);
openal_source_unqueue(source);
}
이러한 코드를 사용하면 소스를 정지하고 다시 시작할 때 발생하는 오류를 해결할 수 있습니다.
2025-05-14 12:50