
OpenAL 소스를 사용하여 오디오 재생을 구현하고 있으니, 소스 rewind 기능을 구현하는 방법에 대해 알려드리겠습니다.
소스를 rewind 하기 위해서는 소스 위치를 변경해야 합니다. OpenAL의 소스 위치를 변경하는 함수는 `alSourcef` 함수입니다. 이 함수의 첫 번째 매개변수는 소스 ID, 두 번째 매개변수는 속성 이름, 세 번째 매개변수는 속성 값을 지정합니다.
소스를 rewind 하기 위해서는 `AL_SOURCE_RELATIVE` 속성을 사용하여 소스 위치를 0으로 설정하면 됩니다. 예를 들어, 다음과 같이 소스를 rewind 할 수 있습니다.
#hostingforum.kr
c
alSourcef(source, AL_SOURCE_RELATIVE, 0.0f);
소스를 rewind 한 후, 다시 재생을 시작할 수 있습니다. OpenAL의 소스를 재생하는 함수는 `alSourcePlay` 함수입니다.
#hostingforum.kr
c
alSourcePlay(source);
소스를 rewind 한 후, 오디오 재생이 달라집니다. 소스를 rewind 한 후, 오디오 재생은 처음부터 시작됩니다. 예를 들어, 소스를 rewind 한 후, 오디오 재생이 처음부터 시작되면, 소스의 위치는 0이 됩니다.
#hostingforum.kr
c
alSourcef(source, AL_SOURCE_RELATIVE, 0.0f);
alSourcePlay(source);
소스를 rewind 한 후, 오디오 재생이 달라진다는 것은 소스의 위치가 0이 된다는 것을 의미합니다. 소스를 rewind 한 후, 오디오 재생은 처음부터 시작되기 때문에, 소스의 위치는 0이 됩니다.
#hostingforum.kr
c
alSourcef(source, AL_SOURCE_RELATIVE, 0.0f);
alSourcePlay(source);
alGetSourcef(source, AL_SOURCE_RELATIVE, &position);
printf("소스의 위치: %fn", position);
소스의 위치가 0인 것을 확인할 수 있습니다.
#hostingforum.kr
c
소스의 위치: 0.000000
소스를 rewind 한 후, 오디오 재생이 달라진다는 것은 소스의 위치가 0이 된다는 것을 의미합니다. 소스를 rewind 한 후, 오디오 재생은 처음부터 시작되기 때문에, 소스의 위치는 0이 됩니다.
2025-03-29 00:23