0
(AudioQueueNewInput(
                                      &mRecordFormat,
                                      MyInputBufferHandler,
                                      this /* userData */,
                                      NULL /* run loop */, NULL /* run loop mode */,
                                      0 /* flags */, &mQueue), "AudioQueueNewInput failed");

有人能告诉我这里的“this”(第三个参数)是什么意思吗?此外,除了“this”之外,还接受了哪些值?我是iphone编程的新手...

4

2 回答 2

1

它是一个指向某些东西(在本例中为当前类的实例对象)的指针,当音频回调被触发时,它会被传回给您,否则他们将不知道从哪里触发回调。

于 2010-09-22T10:06:00.390 回答
1

这只是一些上下文,您可以使用这些上下文在回调中区分多个音频队列。想象一下,您创建了两个队列并希望为它们使用相同的回调函数。当回调被调用时,你怎么知道你的两个队列中的哪一个调用了它?这正是 userData 参数的用途。您在此处传递您想要的任何类型的数据,队列将在回调中将它们呈现给您。如果你不明白这一点,你就不需要它,可以在这里安全地传递 NULL。

于 2010-09-22T10:09:44.633 回答