3

全て:

AVCaptureMovieFileOutput を使用してムービーを録画しています。さまざまなイベントが発生するので、イベントのタイトル/時刻を、作成中の QuickTime ムービーに保存したいと考えています。したがって、特定の映画に関連付けたい 20 ~ 30 のデータ ポイントがあるとします。

私の戦略はメタデータを使用することですが、うまくいきませんでした。誰か教えてください、まず第一に:

a) 任意のメタデータ、または AVMetadataFormat.h で定義されているキーと値のみを保存できますか? 配列を格納できるようにしたいと思います。

b) 任意の配列を格納できる場合、どのキーがトリックを行いますか? そうでない場合、メタデータをコメント フィールドに保存できますか (見苦しいですが、20 ~ 30 ポイントを十分にすばやく解析できます)。

c) item.key (AVMetadataQuickTimeMetadataKeyArtist、AVMetadataCommonKeyArtist、またはその他のあらゆる種類のアーティストで終わるもの) に何を入力しても、iTune の [情報を見る] ウィンドウに何も表示されないため、以下に示すコードは機能していないようです。

    - (IBAction)recordEvent:(id)sender {

NSLog(@"Record a metadata point here ...");

// is there any metadata associated with the file yet?
NSArray * existingMetaData = self.aMovieFileOutput.metadata;
NSMutableArray * newMetadataArray = nil;
if(existingMetaData){
    newMetadataArray = [existingMetaData mutableCopy];
} else {
    newMetadataArray = [[NSMutableArray alloc]init];
}

AVMutableMetadataItem * item = [[AVMutableMetadataItem alloc]init];

item.keySpace = AVMetadataKeySpaceCommon;
item.key = AVMetadataQuickTimeMetadataKeyArtist;

item.value = @"Enya, really!"; // in practice this will be the title of (UIButton *)sender

item.time = CMTimeMake(0.0,1.0);

[newMetadataArray addObject:item];
self.aMovieFileOutput.metadata = newMetadataArray;

}

アドバイスをいただければ幸いです。

ありがとう!

4

1 に答える 1

1

AVCaptureMovieFileOutput&を介して QuickTime ファイルにメタデータを保存すると、キースペースでAVMutableDataItems事前定義されたキーの値のみを保存できますAVMetadataKeySpaceCommon。つまり、AVMetadataCommonKey* のようなキーです。

他のすべてのデータは無視されます

于 2012-03-29T15:32:39.360 に答える