在iOS上录制视频并附加到电子邮件

时间:2013-07-05 04:29:26

标签: ios objective-c nsdata nsurl mfmailcomposeviewcontroller

我正在尝试开发一款可以录制视频然后将其附加到电子邮件的应用。 这就是我所做的,但它不起作用。

- (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"];

视频录制并将其保存到照片库工作正常,我的问题是附件。

可能出现什么问题?

3 个答案:

答案 0 :(得分:0)

对于邮件附件,请使用以下代码:

[tempMailCompose addAttachmentData:[NSData dataWithContentsOfURL:videoURL] mimeType:@"video/quicktime" fileName:@"defectVideo.MOV"];

其余的部分是好的,我想。

答案 1 :(得分:0)

对于附件,您必须使用NSData。如果是视频附件,则必须使用MimeType @"video/quicktime".

有关更多说明,请参阅Apple文档。

MFMailComposeViewController

答案 2 :(得分:0)

我想通了,这里:

我替换了这个......

videoURL = [[NSURL URLWithString:moviePath] init];

有了......

videoURL = [[NSURL alloc] initFileURLWithPath:moviePath];

现在正在运作。

相关问题