超级功率中的回调识别

时间:2018-07-09 12:44:59

标签: ios superpowered

我正在尝试扩展一段在iOS应用程序中使用SuperPowered音频库的代码。特别是,我对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 个答案:

答案 0 :(得分:0)

我最终做到了这一点,传递了一个定义如下的struct实例:

struct AudioPlayerWithIndex {

    int index;
    SuperpoweredAdvancedAudioPlayer* player;
    Superpowered* superpoweredInstance;

    AudioPlayerWithIndex(int index, SuperpoweredAdvancedAudioPlayer* player, Superpowered* superpoweredInstance) : index(index), player(player), superpoweredInstance(superpoweredInstance) {}
};