Идентификация обратного вызова в сверхдержаве

Я пытаюсь расширить кусок кода, который использует 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) {}
};
Другие вопросы по тегам