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

ここで「this」(第 3 パラメーター) の意味を誰か教えてもらえますか? また、「これ」以外に受け入れられる値は何ですか? 私はiPhoneプログラミングが初めてです...

4

2 に答える 2

1

これは何か (この場合は現在のクラスのインスタンス オブジェクト) へのポインターであり、オーディオ コールバックが起動されたときに返されます。そうしないと、コールバックがどこから起動されているかがわからないためです。

于 2010-09-22T10:06:00.390 に答える
1

これは、コールバックで複数のオーディオン キューを区別するために使用できるコンテキストです。2 つのキューを作成し、同じコールバック関数を使用したいとします。コールバックが呼び出されたとき、2 つのキューのどちらがそれを呼び出したかをどのように知るのでしょうか? それがまさに userData パラメータの目的です。ここで任意の種類のデータを渡すと、キューはそれらをコールバックで返します。これを理解していない場合は必要ないので、ここで NULL を安全に渡すことができます。

于 2010-09-22T10:09:44.633 に答える