最大長が 10 秒のビデオをキャプチャする必要がありASIHttpRequest
、.
それ、どうやったら出来るの?
最大長が 10 秒のビデオをキャプチャする必要がありASIHttpRequest
、.
それ、どうやったら出来るの?
これには、画像ピッカーの videoMaximumDuration プロパティを設定できます。
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.mediaTypes = @[(NSString *)kUTTypeMovie];
imagePicker.videoQuality = UIImagePickerControllerQualityTypeHigh;
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.videoMaximumDuration = 10;
これを使用して、ビデオの長さを取得できます
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:selectedVideoUrl];
CMTime duration = playerItem.duration;
float seconds = CMTimeGetSeconds(duration);
NSLog(@"duration: %.2f", seconds);
を使用してサーバーにアップロードできます
//server url to upload
NSURL *url = [NSURL URLWithString: URL];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setUseKeychainPersistence:YES];
//give your file path here and key
[request addFile:file_path forKey:@""];
[request setDelegate:self];
[request setDidFinishSelector:@selector(uploadRequestFinished:)];
[request setDidFailSelector:@selector(uploadRequestFailed:)];
[request startAsynchronous];
//successful uploaded
- (void)uploadRequestFinished:(ASIHTTPRequest *)request{
}
//when failed
- (void)uploadRequestFailed:(ASIHTTPRequest *)request{
NSLog(@" Error - Statistics file upload failed: \"%@\"",[[request error] localizedDescription]);
}
これを試して
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)mediaDict {
NSString *type = [mediaDict objectForKey:UIImagePickerControllerMediaType];
if ([type isEqualToString:(NSString *)kUTTypeVideo] ||
[type isEqualToString:(NSString *)kUTTypeMovie]) { // movie != video
NSURL *url = [mediaDict objectForKey:UIImagePickerControllerMediaURL];
NSData *data = [NSData dataWithContentsOfURL:videoURL];
// UPLOAD THIS DATA because you must convert video file to NSData. and must take Post method.
}
return nil;
}