Note that there are some explanatory texts on larger screens.

plurals
  1. POIphone SDK,Create a Video from UIImage
    primarykey
    data
    text
    <p>i needs to create a video from the image selected.</p> <p>i have code it shoudl work but its giving error while appending buffer.</p> <p>This is how both type of images has been saved.</p> <pre><code>-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo { // NSLog(@"Came From Here"); imgv.image = img; AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate]; app.imgmain = img; [self dismissModalViewControllerAnimated:YES]; RecordVoice *rec = [[RecordVoice alloc] initWithNibName:@"RecordVoice" bundle:nil]; rec.hidesBottomBarWhenPushed = YES; // rec.img.image = img; [self.navigationController pushViewController:rec animated:YES]; //[self presentModalViewController:rec animated:YES]; [rec release]; // flag =@"yes"; // need to show the upload image button now // [username, ititle resignFirstResponder]; } </code></pre> <p>on the other view controller i am showing this image on a uiimage view.</p> <p>and on button click i am converting that image to video with this code.</p> <pre><code>-(void)createVideoFile { NSString *documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSArray *dirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectoryPath error:nil]; for (NSString *tString in dirContents) { if ([tString isEqualToString:@"test.mp4"]) { [[NSFileManager defaultManager]removeItemAtPath:[NSString stringWithFormat:@"%@/%@",documentsDirectoryPath,tString] error:nil]; } } NSString *nfile = [documentsDirectoryPath stringByAppendingPathComponent:@"test.mp4"]; AVURLAsset * urlAsset = [AVURLAsset URLAssetWithURL:recordedTmpFile options:nil]; NSLog(@"Write Started"); NSError *error = nil; CGSize size = img.image.size; //CGSizeMake(320, 480); NSLog(@"Write Started"); AVAssetWriter *videoWriter = [[AVAssetWriter alloc] initWithURL: [NSURL fileURLWithPath:nfile] fileType:AVFileTypeQuickTimeMovie error:&amp;error]; NSParameterAssert(videoWriter); NSDictionary *videoSettings = [NSDictionary dictionaryWithObjectsAndKeys: AVVideoCodecH264, AVVideoCodecKey, [NSNumber numberWithInt:size.width], AVVideoWidthKey, [NSNumber numberWithInt:size.height], AVVideoHeightKey, nil]; AVAssetWriterInput* videoWriterInput = [[AVAssetWriterInput assetWriterInputWithMediaType:AVMediaTypeVideo outputSettings:videoSettings] retain]; AVAssetWriterInputPixelBufferAdaptor *adaptor = [AVAssetWriterInputPixelBufferAdaptor assetWriterInputPixelBufferAdaptorWithAssetWriterInput:videoWriterInput sourcePixelBufferAttributes:nil]; NSParameterAssert(videoWriterInput); NSParameterAssert([videoWriter canAddInput:videoWriterInput]); videoWriterInput.expectsMediaDataInRealTime = YES; [videoWriter addInput:videoWriterInput]; //Start a session: [videoWriter startWriting]; [videoWriter startSessionAtSourceTime:kCMTimeZero]; CVPixelBufferRef buffer = NULL; //convert uiimage to CGImage. int frameCount = 0; buffer = [self pixelBufferFromCGImage:[img.image CGImage] andSize:size]; BOOL append_ok = NO; int j = 0; while (!append_ok &amp;&amp; j &lt; 30) { if (adaptor.assetWriterInput.readyForMoreMediaData) { printf("appending %d attemp %d\n", frameCount, j); CMTime frameTime = urlAsset.duration;//CMTimeMake(frameCount,(int32_t) 10); append_ok = [adaptor appendPixelBuffer:buffer withPresentationTime:frameTime]; //if(buffer) // CVBufferRelease(buffer); [NSThread sleepForTimeInterval:0.05]; } else { printf("adaptor not ready %d, %d\n", frameCount, j); [NSThread sleepForTimeInterval:0.1]; } j++; } if (!append_ok) { printf("error appending image %d times %d\n", frameCount, j); } frameCount++; [videoWriterInput markAsFinished]; [videoWriter finishWriting]; [self CompileFilesToMakeMovie]; [altv dismissWithClickedButtonIndex:0 animated:YES]; [altv release]; NSLog(@"Write Ended"); } </code></pre> <p>But this is not working...</p> <p>i am stuck can anyone please help me in this???? :(</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload