我正在使用SDL lib(版本1.2.15)。我嘗試播放libav(ffmpeg)中的音頻,例如here。指向sdl_audio回調成員函數的指針
我已經宣佈一個類播放聲音。但現在我必須在SDL_AudioSpec::callback
(在示例wanted_spec.callback
)中存儲回調函數的指針。但我的回撥是我班的一員。
在SDL回調指針是:
void (SDLCALL *callback)(void *userdata, Uint8 *stream, int len);
其中SDLCALL是__cdecl
。
如何在我的wanted_spec_.callback
中存儲成員函數的指針?
回調函數必須聲明爲靜態。但是userdata參數可以包含指向你的對象的'this'指針。將其轉換爲對象指針並使用它來調用非靜態成員函數。 –
剛剛嘗試過。似乎工作:D謝謝。使它成爲答案... – user1810087