0

ELCImagePickerController複数のビデオ選択に使用しています。しかし、選択したビデオのサイズを取得したいです。ユーザーが動画をクリックすると、動画のサイズがチェックされます。

現在、選択されたすべてのビデオ情報が取得されています。

- (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info
{
 for (NSDictionary *dict in info) {
   NSUrl *video url = [dict objectForKey:UIImagePickerControllerReferenceURL];

NSLog(@"Video information is ::",url);
       }
} 

メソッドでビデオのサイズを見つけることができますdidFinishPickingMediaWithInfo:。ただし、このメソッドは、ユーザーがすべてのビデオを選択したときに呼び出されます。しかし、ユーザーが大きなサイズのファイルを選択できないようにしたい。

ユーザーがビデオをクリックしたときにビデオ情報を取得したいのですが、ユーザーが1つのビデオをクリックすると、そのビデオサイズが取得され、大きなサイズに関連するアラートが表示されます。ユーザーがビデオをタップして選択すると、以下が呼び出されます。しかし、現時点ではビデオ情報を取得できません。

ELCImagePickerController.m

- (BOOL)shouldSelectAsset:(ELCAsset *)asset previousCount:(NSUInteger)previousCount
{
    BOOL shouldSelect = previousCount < self.maximumImagesCount;
    if (!shouldSelect) {
        NSString *title = [NSString stringWithFormat:NSLocalizedString(@"Only %d Video please!", nil), self.maximumImagesCount];
        NSString *message = [NSString stringWithFormat:NSLocalizedString(@"You can only upload %d Videos at a time.", nil), self.maximumImagesCount];
        [[[UIAlertView alloc] initWithTitle:title
                                    message:message
                                   delegate:nil
                          cancelButtonTitle:nil
                          otherButtonTitles:NSLocalizedString(@"Okay", nil), nil] show];
    }
    return shouldSelect;
}
4

1 に答える 1

1

以下のコードの長さを確認してください:`

AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:yourVideoUrl];

CMTime duration = playerItem.duration;
float seconds = CMTimeGetSeconds(duration);
NSLog(@"duration: %.2f", seconds);`

以下のコードサイズを確認してください:

1 キロバイトは 1024 バイト、1 メガバイトは 1024 キロバイトです。

NSData * movieData = [NSData dataWithContentsOfURL:yourVideoUrl];

NSLog(@"%.2f",(float)movieData.length/1024.0f/1024.0f);
于 2014-05-23T08:46:18.963 に答える