将M4V视频附加到电子邮件

时间:2013-10-16 19:13:56

标签: iphone ios email

我试图以看似标准的方式使用MFMailComposeViewController将图库中的视频附加到电子邮件中。

视频使用GPUImage框架以m4v格式录制,并通过自定义选择器进行选择。

选择器返回一个ALAsset,我从中检索了一个URL(我已将其启动到MPMoviePlayerViewController中,它存在且播放正常)。

当电子邮件启动进行预览时,它会显示一个视频图标,表示已附加视频。

当我将其发送到电子邮件地址时,该电子邮件根本没有附件。你能帮我找到下面代码的错误吗?

    MFMailComposeViewController *mailpicker = [[MFMailComposeViewController alloc] init] ;
    mailpicker.mailComposeDelegate = self;
    mailpicker.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal ;
    [mailpicker setSubject:@"Test email!"];
    NSData *movieData = [NSData dataWithContentsOfURL:[[asset defaultRepresentation] url]];

    NSLog(@"%@", [[asset defaultRepresentation] url]);

    //I have tried all of the following;
    [mailpicker addAttachmentData:movieData mimeType:@"video/x-m4v" fileName:@"Video.m4v"];
    //[mailpicker addAttachmentData:movieData mimeType:@"application/m4v" fileName:@"Video.m4v"];
    //[mailpicker addAttachmentData:movieData mimeType:@"video/m4v" fileName:@"Video.m4v"];

    NSString *emailBody = @"Hey!";
    [mailpicker setMessageBody:emailBody isHTML:YES];
    [self presentModalViewController:mailpicker animated:YES];

由于

1 个答案:

答案 0 :(得分:0)

知道了,我没有正确阅读文件。

我必须使用资产图书馆assetForURL来获取视频数据。

对于其他任何人,请看看这个;

[assetLibrary assetForURL:YOURURL resultBlock:^(ALAsset *asset) // substitute YOURURL with your url of video

但请注意,您可能需要压缩/缩小视频尺寸。