天天看點

iOS判斷從系統相冊選取的是視訊還是照片

第一種方法:并可以擷取到視訊的縮略圖,原文位址:http://blog.csdn.net/xiaobo16/article/details/7759181

- (void)imagePickerController:(UIImagePickerController *)picker   didFinishPickingMediaWithInfo:(NSDictionary *)info 
{   
    [picker dismissModalViewControllerAnimated:YES];
    
    NSString *mediaType = [infoobjectForKey:UIImagePickerControllerMediaType];
    if([mediaType isEqualToString:@"public.movie"])
    {
        NSURL *videoURL = [infoobjectForKey:UIImagePickerControllerMediaURL];
        NSLog(@"found a video");
        //擷取視訊的thumbnail     
        MPMoviePlayerController *player = [[[MPMoviePlayerControlleralloc]initWithContentURL:videoURL] autorelease];
        UIImage  *thumbnail = [playerthumbnailImageAtTime:1.0timeOption:MPMovieTimeOptionNearestKeyFrame];
player = nil;
        }
} 
           

第二種方法,通過判斷是否含有視訊軌道,參考位址:http://www.thinksaas.cn/ask/question/22483/

- (void)imagePickerController: (UIImagePickerController *)picker didFinishPickingMediaWithInfo: (NSDictionary *)info{
    
    NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
    AVAsset *asset = [AVURLAsset URLAssetWithURL:videoURL options:info];
    NSArray *tracks = [asset tracksWithMediaType:AVMediaTypeVideo];
    //判斷是否含有視訊軌道
    BOOL hasVideoTrack = [tracks count] > 0;
    if (hasVideoTrack) {
        [picker dismissViewControllerAnimated:YES completion:^{
            
        }];
        return;
    }
 }