SDL lib (버전 1.2.15)를 사용하고 있습니다. 나는이 예제에서처럼 libav (ffmpeg)에서 오디오를 재생하려고 시도한다 here.sdl_audio 콜백의 memberfunction에 대한 포인터
나는 사운드를 재생하기위한 클래스를 선언했습니다. 하지만 이제는 SDL_AudioSpec::callback
(예 : wanted_spec.callback
)에 콜백 함수에 대한 포인터를 저장해야합니다. 하지만 내 콜백은 내 수업의 구성원입니다.
SDL의 콜백 포인터는 다음과 같습니다
SDLCALL이__cdecl
입니다
void (SDLCALL *callback)(void *userdata, Uint8 *stream, int len);
.
내 wanted_spec_.callback
에 memberfunction의 포인터를 저장할 수 있습니까?
콜백 함수는 정적으로 선언되어야합니다. 그러나 userdata 매개 변수에는 객체에 대한 'this'포인터가 포함될 수 있습니다. 객체 포인터로 캐스팅하고 비 정적 멤버 함수를 호출하는 데 사용합니다. –
방금 시도했습니다. 일하는 것처럼 보입니다. D 감사합니다. 대답으로 확인하십시오 ... – user1810087