2013-10-22 67 views
-2

我想捕获视频,然后在一些社交网站和电子邮件上共享它,所以我捕获了视频并将其保存到相册中,现在我不知道我怎么能份额捕获/保存的视频,请提出一些对于这一点,这里是我拍摄的视频存储代码..: -在Facebook,Twitter和电子邮件上捕获视频分享

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    NSString *tempFilePath = [[info objectForKey:UIImagePickerControllerMediaURL] path]; 
    // NSLog(@"dictionary info %@", info); 

    if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(tempFilePath)) 
    { 
     // Copy it to the camera roll. 

     UISaveVideoAtPathToSavedPhotosAlbum(tempFilePath, self, @selector(video:didFinishSavingWithError:contextInfo:), tempFilePath); 

     NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL]; 

     NSData *videoData = [NSData dataWithContentsOfURL:videoURL]; 
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *documentsDirectory = [paths objectAtIndex:0]; 

     vidPath = [documentsDirectory stringByAppendingFormat:@"/vid1.mp4"]; 
     [vidPath retain]; 

     BOOL success = [videoData writeToFile:vidPath atomically:NO]; 

     NSLog(@"Written file on path success? , %@\n", (success ? @"YES" : @"NO")); 

     [picker dismissModalViewControllerAnimated:YES]; 
    } 
} 

更新

我曾尝试这个代码来生成微小的URL共享视频但它不工作:(

NSString *apiEndpoint = [NSString stringWithFormat:@"http://tinyurl.com/api-create.php?url=%@",vidPath]; 
[apiEndpoint retain]; 

shortURL = [NSString stringWithContentsOfURL:[NSURL URLWithString:apiEndpoint] 
            encoding:NSASCIIStringEncoding 
             error:nil]; 
[shortURL retain]; 

这里我将能够存储视频照片库和文件目录现在我想分享,那么该怎么做?请帮忙!

回答

0

对于Facebook来说,在their answer here建议路易斯:

NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/me/videos"]; 

NSURL *videoPathURL = [[NSURL alloc]initFileURLWithPath:videoPath isDirectory:NO]; 
NSData *videoData = [NSData dataWithContentsOfFile:videoPath]; 

NSString *status = @"One step closer."; 
NSDictionary *params = @{@"title":status, @"description":status}; 

SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeFacebook 
             requestMethod:SLRequestMethodPOST 
                URL:url 
              parameters:params]; 

[request addMultipartData:videoData 
       withName:@"source" 
        type:@"video/quicktime" 
       filename:[videoPathURL absoluteString]]; 

电子邮件

-(IBAction)sendmailPress:(id)sender 
{ 

MFMailComposeViewController* Apicker = [[MFMailComposeViewController alloc] init]; 
    if (Apicker != nil) 
    { 

     [Apicker setSubject:@""]; 

     [Apicker setMessageBody:@" " isHTML:NO]; 


     [Apicker setToRecipients:toRecipients]; 

     Apicker.mailComposeDelegate = self; 

     NSData *mym=[NSData dataWithContentsOfFile:VideoPath]; 

     NSLog(@"%@",mym); 
     [Apicker addAttachmentData:mym mimeType:@".Extension" fileName:videoname]; 
[self presentModalViewController:Apicker animated:YES]; 
     [Apicker release]; 
} 

enter image description here

enter image description here

+0

这是对您有帮助? – user1673099

+0

实际上我需要一个适用于所有因素的全球解决方案,我想在fb,twitter和电子邮件上分享我拍摄的视频... –

+0

@ D-eptdeveloper,请参阅我的更新回答。对不起,我不知道推特。 – user1673099

相关问题