So this CreateAudioPlayer() is called from another thread, right?
Probably should update the comments and make this more explicit.