我正在尝试扩展一段在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对象。
我可以这样做吗,还是有应引起注意的后果?
答案 0 :(得分:0)
我最终做到了这一点,传递了一个定义如下的struct实例:
struct AudioPlayerWithIndex {
int index;
SuperpoweredAdvancedAudioPlayer* player;
Superpowered* superpoweredInstance;
AudioPlayerWithIndex(int index, SuperpoweredAdvancedAudioPlayer* player, Superpowered* superpoweredInstance) : index(index), player(player), superpoweredInstance(superpoweredInstance) {}
};