代码之家  ›  专栏  ›  技术社区  ›  Kheldar haccks

超能力回叫识别

  •  0
  • Kheldar haccks  · 技术社区  · 8 年前

    我试图扩展一段代码,它使用 SuperPowered ios应用程序中的音频库。特别是,我对 void playerEventCallback(void *clientData, SuperpoweredAdvancedAudioPlayerEvent event, void *value) callback,在创建音频播放器时向管理超能力对象传递一个指针:

    SuperpoweredAdvancedAudioPlayer(void *clientData, SuperpoweredAdvancedAudioPlayerCallback callback, unsigned int sampleRate, unsigned char cachedPointCount, unsigned int internalBufferSizeSeconds = 2, unsigned int negativeSeconds = 0);
    

    如果我正确理解代码,没有什么可以阻止我出于自己的目的修改这种情况,例如,传递指向数组中某个对象的指针,该指针将标识正在/正在运行的播放器,而不是管理超能力对象。

    我能这样做吗,还是有什么后果我应该知道?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Kheldar haccks    8 年前

    我最终正是这样做的,传递了一个定义如下的结构实例:

    struct AudioPlayerWithIndex {
    
        int index;
        SuperpoweredAdvancedAudioPlayer* player;
        Superpowered* superpoweredInstance;
    
        AudioPlayerWithIndex(int index, SuperpoweredAdvancedAudioPlayer* player, Superpowered* superpoweredInstance) : index(index), player(player), superpoweredInstance(superpoweredInstance) {}
    };
    
    推荐文章