1

動画を録画して、IOS のメール コンポーザーに添付ファイルとして追加する方法を教えてもらえないだろうかと思っていました。具体的であればあるほどよい。ありがとう。

4

2 に答える 2

3

プログラムでビデオをキャプチャするには、このスレッドを確認してください iOS 4 でビデオを録画する方法の基本的な説明

iOS のメール コンポーザに関するこのチュートリアルを確認して ください http://www.iostipsandtricks.com/using-apples-mail-composer/

メール コンポーザは、直接添付ファイルとして画像のみをサポートし、他の形式は nsdata として追加する必要があります

目標 c で添付ファイルとしてファイルを送信する

PS : グーグルで検索せずに質問すると、おそらく反対票を投じるでしょう。

于 2012-10-22T08:13:14.530 に答える
1

.h ファイル

#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>
#import <MobileCoreServices/MobileCoreServices.h>
#import <MediaPlayer/MediaPlayer.h>

@interface ViewController : UIViewController <MFMailComposeViewControllerDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate>
{
    UIImagePickerController *imagePicker;
    NSURL *videoURL;
}

-(IBAction)submitVideo;

.m ファイル

- (void)viewDidLoad
{
    [super viewDidLoad];

    //set image picker
    imagePicker = [[UIImagePickerController alloc]init];
    NSArray *mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
    imagePicker.mediaTypes = [mediaTypes filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(SELF contains %@)", @"movie"]];
    imagePicker.delegate = self;
    imagePicker.videoMaximumDuration = 60.0;
    imagePicker.allowsEditing = YES;
    [imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
}

-(IBAction)submitVideo
{
    [self presentViewController:imagePicker animated:YES completion:nil];
}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
    NSLog(@"movie captured %@", info);

    [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(sendMail) userInfo:nil repeats:NO];
    [self dismissViewControllerAnimated:YES completion:nil];
}


-(void)sendMail
{
    if ([MFMailComposeViewController canSendMail]) 
    {        
        MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init];
        mail.mailComposeDelegate = self;
        [mail addAttachmentData:[NSData dataWithContentsOfURL:videoURL] mimeType:@"video/MOV" fileName:@"Video.MOV"];
        [mail setSubject:@"video"];
        [mail setMessageBody:@"body" isHTML:YES];
        [mail setToRecipients:[NSArray arrayWithObject:@"myemail@jhd.com"]];
        [self presentViewController:mail animated:YES completion:nil];
    }else {
        NSLog(@"Device is unable to send the request in its current state.");
    }
}
于 2012-12-22T10:48:09.413 に答える