如何解决C++ - 将 typedef 转换为非静态方法或对象创建
您好,我在我的 Android 项目中使用了 c++,我对它还很陌生。我有一个名为 SuperpoweredAndroidAudioIO 的类,它具有以下构造函数参数。
SuperpoweredAndroidAudioIO(int samplerate,int buffersize,bool enableInput,bool enableOutput,audioProcessingCallback callback,void *clientdata,int inputStreamType = -1,int outputStreamType = -1);
这里audioProcessingCallback是一个typedef,它在库中像这样定义,
typedef bool (*audioProcessingCallback) (void *clientdata,short int *audioIO,int numberOfFrames,int samplerate);
现在每次我要创建SuperpoweredAndroidAudioIO的对象时,我都必须像这样传递静态方法作为audioProcessingCallback的参数,
static bool audioProcessing(
void *__unused clientdata,// custom pointer
short int *audio,// buffer of interleaved samples
int numberOfFrames,// number of frames to process
int __unused samplerate // current sample rate in Hz
) {
//Some code
return true;
}
audioIO = new SuperpoweredAndroidAudioIO(
samplerate,buffersize,true,audioProcessing,// audio processing callback function
NULL,-1,SL_ANDROID_STREAM_MEDIA
);
所以我的问题是有什么方法可以删除作为音频处理回调的静态方法,并直接分配一个方法或对象或任何可以在没有静态的情况下工作的东西。原因是如果我声明一个静态方法,我必须将其中的所有变量都用作静态变量。那么有人可以在这里帮忙吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。