ALAssetLibraryを使ってデバイス上のビデオを列挙していますが、デバイス自体で作成されたビデオにはうまく動作します。しかし、iTunesの同期アルバム/イベントの結果として作成されたグループの場合、「ビデオ」アプリの通信ディレクトリにビデオはありますが、ビデオは表示されません。
動画を検索し、すべてのグループのアセットと動画の数を記録するコード:
//using dispatch_async just to make sure it is called on the main thread
dispatch_async(dispatch_get_main_queue(),^{
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupEvent|ALAssetsGroupLibrary usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
if (group!=nil) {
NSLog(@"Number of assets in %@ :%d",[group valueForProperty:ALAssetsGroupPropertyName],[group numberOfAssets]);
[group setAssetsFilter:[ALAssetsFilter allVideos]];
NSLog(@"Number of videos in %@ :%d",[group valueForProperty:ALAssetsGroupPropertyName],[group numberOfAssets]);
}
} failureBlock: ^(NSError *error) {
NSLog(@"ERROR: %@",[error localizedDescription]);
}];
});
どのようなアイデアが間違っている?またはiTunesから同期されたそれらのビデオを取得する方法は?
(iOS5 with iPhone4)