これは私の他の質問と関係がありますが、私は新しい質問でそれを尋ねるべきだと感じました。
基本的に、FLACはコールバックに関数ポインターを使用し、ctypesを使用してコールバックを実装するにはCFUNCTYPE
、それらのプロトタイプを作成してから、prototype()
関数を使用してそれらを作成します。
これに関する問題は、コールバック関数をそのように作成することを考えたということです(再作成した構造体は表示していません。FLAC__Frameは構造体です)。
write_callback_prototype = CFUNCTYPE(c_int, c_void_p,
POINTER(FLAC__Frame),
POINTER(c_int32), v_void_p)
私が抱えている問題は実装です。FLAC__Frameはプログラマーによってインスタンス化されることはなく、初期化関数と処理関数からのみ呼び出されます。コールバック関数を自分で作成する必要がありますが、彼の問題は、これをどのように行うかわからないことです。私がこれをどのように行うべきかを知っているなら、いくつかの助けをいただければ幸いです。