0

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

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

视频录制并将其保存到照片库运行良好,我的问题是附件。

有什么问题?

4

3 回答 3

0

我想通了,在这里:

我换了这个...

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

有了这个...

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

它现在正在工作。

于 2013-07-05T07:10:04.123 回答
0

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

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

我认为其余部分还可以。

于 2013-07-05T04:49:57.783 回答
0

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

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

MFMailComposeViewController

于 2013-07-05T05:17:20.897 回答