2011-07-07 84 views
2

我使用下面的代碼來錄製視頻,因爲它在iphone 3Gs和iphone 4中工作順利。但是在iphone 3G中它並不工作。視頻錄製是否支持iPhone 3g(編程)在iPhone SDK中?

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

    } 
    } 

Guy's請幫我解決這個問題。

謝謝大家, Monish。

+0

我認爲這是不可能在iPhone 3g檢查這個問題http://stackoverflow.com/questions/2550559/how-to-record-video-in-iphone – Pugal

回答

0

3G只具備捕捉功能。一些開發者通過快速連續拍攝多張照片並將其轉換爲視頻來解決這個問題。

這個blog有一篇關於哪些視頻選項可用的文章,已有一年了,但希望你能理解他們做了什麼。

+0

:感謝您的快速response.But在他們的博客建議我們已經越獄了我們的手機。是否有其他解決方案或想法? –

+0

不是我所知道的,這確實是我相信硬件的限制。 –