0

AVFoundationフレームワークを使用してビデオファイルを読み取り、CMSampleBuferRefとして画像バッファーを取得しています。CFArrayAppendValue()関数を使用してCFMutableArrayRefにバッファーを追加しました。

しかし、その配列から取得したい場合、方法はありますか?

CFMutableArrayRefに関するAppleのドキュメントには、配列から取得する方法が記載されていません。

4

2 に答える 2

3

CFArrayGetValueAtIndexCFArray関数または同様のものを探しています。CFMutableArrayのCFArrayからの「継承」、およびCFMutableArrayのドキュメントには、CFArrayとは異なるAPIのみが含まれています。

こちらのドキュメントをご覧ください。

于 2012-07-17T16:47:59.133 に答える
2

Mattが指摘したAPI(+1)を使用することに加えて、CFMutableArrayフリーダイヤルでブリッジされNSMutableArrayます。のインスタンスをにキャストして、のメソッドを使用するだけですCFMutableArrayNSMutableArrayまたはNSMutableArrayその逆)。にキャストした後、NSMutableArrayを使用できます-[NSArray objectAtIndex:]

多くのFoundationタイプには、フリーダイヤルでブリッジされたCoreFoundationの対応物があります。フリーダイヤルのブリッジタイプとして、キャストはプロモーションやコンバージョンを導入しません。それらを同じタイプと考えてください。インスタンスにオーバーヘッドや変更を加えることなく、インスタンスを対応するCF-NSに変換/キャストできます。技術的には、実装でARCでCFタイプではなくNSタイプを使用する場合、暗黙の参照カウントが導入される可能性があります。

これは、ObjCで記述していて、ObjCAPIに精通している場合に役立つことがあります。

于 2012-07-17T16:57:47.667 に答える