Поддерживает ли запись видео в iPhone 3g (программно) в iOS? - PullRequest
2 голосов
/ 07 июля 2011

Я использую приведенный ниже код для записи видео, так как оно отлично работает в iPhone 3Gs и iPhone 4. Но в iPhone 3G оно не работает.

  - (void)imagePickerController:(UIImagePickerController *)picker1 didFinishPickingMediaWithInfo:(NSDictionary *)info 
    {
    printf("\n INSIDE......didFinishPickingMediaWithInfo");
        NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
    printf("\n mediaType = %s",[mediaType UTF8String]);

    if ([mediaType isEqualToString:@"public.movie"]) 
    {
                NSLog(@"got a movie");
        videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
        newURL = [videoURL copy];
        NSLog(@"Video Url = %@",videoURL);

        moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:newURL];
        if (moviePlayer)
        {
            //[moviePlayer setControlStyle:MPMovieControlStyleFullscreen];
            //[moviePlayer setFullscreen:YES];
            //[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleDurationAvailableNotification:)

                       // name:MPMovieDurationAvailableNotification
                                                                                      //object:moviePlayer];
            ////moviePlayer.useApplicationAudioSession = NO;
            //UIImage *image = [moviePlayer  thumbnailImageAtTime:(NSTimeInterval)1.0 timeOption: MPMovieTimeOptionNearestKeyFrame];
            //NSData *imgData = UIImagePNGRepresentation(image);
            //thumbnailData =[imgData copy];
            //printf("\n length of ThumbnailImage Data...%d",[imgData length]);
        }

        NSData *webData = [NSData dataWithContentsOfURL:videoURL];
        webData1 = [webData copy];

        myAlertView = [[UIAlertView alloc] initWithTitle:@"Enter the Message title" message:@"................." delegate:self cancelButtonTitle:@"No title" otherButtonTitles:@"Ok",nil];
        CGAffineTransform myTransform = CGAffineTransformMakeTranslation(0.0, 80.0);
        [myAlertView setTransform:myTransform];
        [myAlertView addSubview:messageTitleTextField];
        [messageTitleTextField setFont:[UIFont boldSystemFontOfSize:14]];
        messageTitleTextField.returnKeyType = UIReturnKeyDone;
        messageTitleTextField.keyboardAppearance  = UIKeyboardAppearanceDefault;
        messageTitleTextField.keyboardType = UIKeyboardTypeDefault;
        messageTitleTextField.delegate = self;
        [myAlertView show];
        //[mview addSubview:myAlertView];

        UILabel *theTitle = [myAlertView valueForKey:@"_titleLabel"];
        [theTitle setTextColor:[UIColor orangeColor]];

        UILabel *theBody = [myAlertView valueForKey:@"_bodyTextLabel"];
        [theBody setTextColor:[UIColor whiteColor]];

        UIImage *theImage2 = [UIImage imageNamed:@"voicebg.png"];    
        theImage2 = [theImage2 stretchableImageWithLeftCapWidth:16 topCapHeight:16];
        CGSize theSize = [myAlertView frame].size;

        UIGraphicsBeginImageContext(theSize);    
        [theImage2 drawInRect:CGRectMake(0, 0, theSize.width, theSize.height)];    
        theImage2 = UIGraphicsGetImageFromCurrentImageContext();    
        UIGraphicsEndImageContext();
        myAlertView.layer.contents = (id)[theImage2 CGImage];
        [myAlertView release];
        //[webData release];
        [picker1 dismissModalViewControllerAnimated:YES];
    }   
}

1 Ответ

0 голосов
/ 07 июля 2011

3G все еще имеет возможности захвата. Некоторые разработчики обошли это, сделав несколько снимков в быстрой последовательности и преобразовав их в видео.

В этом блоге есть статья о доступных вариантах видео, ему год, но, надеюсь, вы сможете понять, что они все сделали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...