我正在尝试开发一款可以录制视频然后将其附加到电子邮件的应用。 这就是我所做的,但它不起作用。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
[self dismissModalViewControllerAnimated:NO];
// Handle a movie capture
if (CFStringCompare ((__bridge_retained CFStringRef) mediaType, kUTTypeMovie, 0) == kCFCompareEqualTo) {
NSString *moviePath = [[info objectForKey:UIImagePickerControllerMediaURL] path];
if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(moviePath)) {
UISaveVideoAtPathToSavedPhotosAlbum(moviePath, self,
@selector(video:didFinishSavingWithError:contextInfo:), nil);
videoURL = [[NSURL URLWithString:moviePath] init];
}
}
}
附件:
[tempMailCompose addAttachmentData:[NSData dataWithContentsOfURL:videoURL] mimeType:@"video/MOV" fileName:@"defectVideo.MOV"];
视频录制并将其保存到照片库工作正常,我的问题是附件。
可能出现什么问题?
答案 0 :(得分:0)
对于邮件附件,请使用以下代码:
[tempMailCompose addAttachmentData:[NSData dataWithContentsOfURL:videoURL] mimeType:@"video/quicktime" fileName:@"defectVideo.MOV"];
其余的部分是好的,我想。
答案 1 :(得分:0)
对于附件,您必须使用NSData
。如果是视频附件,则必须使用MimeType @"video/quicktime".
有关更多说明,请参阅Apple文档。
答案 2 :(得分:0)
我想通了,这里:
我替换了这个......
videoURL = [[NSURL URLWithString:moviePath] init];
有了......
videoURL = [[NSURL alloc] initFileURLWithPath:moviePath];
现在正在运作。