Iphone 音频队列回调函数必须是C风格的函数吗?或者它可以是一个客观的C风格的方法?
音频队列回调函数必须是C风格的函数吗?或者它是一种客观的C风格的方法吗?完全取决于API;如果API调用函数、块或方法,则必须使用该函数、块或方法 只要回调函数类型类似于:Iphone 音频队列回调函数必须是C风格的函数吗?或者它可以是一个客观的C风格的方法?,iphone,objective-c,c,core-audio,audioqueueservices,Iphone,Objective C,C,Core Audio,Audioqueueservices,音频队列回调函数必须是C风格的函数吗?或者它是一种客观的C风格的方法吗?完全取决于API;如果API调用函数、块或方法,则必须使用该函数、块或方法 只要回调函数类型类似于: void (*hollabackman)(AudioGunk*foo, void*context); setCallback(hollabackman func, void *context); 设置回调的API类似于: void (*hollabackman)(AudioGunk*foo, void*context);
void (*hollabackman)(AudioGunk*foo, void*context);
setCallback(hollabackman func, void *context);
设置回调的API类似于:
void (*hollabackman)(AudioGunk*foo, void*context);
setCallback(hollabackman func, void *context);
然后你可以:
- myMethod
{
setCallback(&myCallbackFunc, (void *)self);
}
- (void) hollaedBack: (AudioGunk*) aGunk
{
.....
}
然后:
我建议您在设置回调时保留self,在拆除回调时只使用释放来平衡它。CoreAudio(包括AudioQueueServices)没有ObjectiveC接口-纯C是直接与CoreAudio接口的答案
但是,您可以创建一些包装C函数来调用singleton ObjectiveC对象方法