2013-07-05 25 views
0

我正在嘗試開發一個可以錄製視頻並將其附加到電子郵件的應用程序。 這是我所做的,但它不工作。在iOS上錄製視頻並附加到電子郵件

- (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

對於附件的郵件中使用如下代碼:

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

和休息的一部分是確定的,我想。

+0

仍未附着。 –

+0

是否需要先上傳?等到它結束了? –

0

對於附件,您必須使用NSData。如果您需要使用視頻附件MimeType @"video/quicktime".

欲瞭解更多信息,請參閱蘋果文檔。

MFMailComposeViewController

0

我想通了,在這裏:

我換成這個...

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

有了這個...

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

它的工作現在。