Идентификация обратного вызова в сверхдержаве
Я пытаюсь расширить кусок кода, который использует SuperPowered
аудио библиотека в приложении iOS. В частности, меня интересует void playerEventCallback(void *clientData, SuperpoweredAdvancedAudioPlayerEvent event, void *value)
обратный вызов, которому передается указатель на управляющий объект SuperPowered при создании аудиоплеера:
SuperpoweredAdvancedAudioPlayer(void *clientData, SuperpoweredAdvancedAudioPlayerCallback callback, unsigned int sampleRate, unsigned char cachedPointCount, unsigned int internalBufferSizeSeconds = 2, unsigned int negativeSeconds = 0);
Если я правильно понимаю код, то ничто не мешает мне изменить эту ситуацию для моих собственных целей, передав, например, указатель на объект в массиве, который бы идентифицировал игрока, который работает / работал, вместо управляющего объекта SuperPowered.,
Могу ли я сделать это или есть следствие, о котором я должен знать?
1 ответ
Решение
В итоге я сделал именно это, передав экземпляр структуры, определенной следующим образом:
struct AudioPlayerWithIndex {
int index;
SuperpoweredAdvancedAudioPlayer* player;
Superpowered* superpoweredInstance;
AudioPlayerWithIndex(int index, SuperpoweredAdvancedAudioPlayer* player, Superpowered* superpoweredInstance) : index(index), player(player), superpoweredInstance(superpoweredInstance) {}
};