Video Speichern in der falschen Orientierung AVCaptureSession
Ich versuche ein video aufnehmen (ohne die Kamera) und speichern Sie es. Aber das video gespeichert ist nicht speichern in der richtigen Orientierung. Ich habe versucht, zwingen die UIViewController, um eine bestimmte Orientierung, aber das hat nicht geholfen. Alle videos sind aufgenommen im hochformat. Mein code ist unten:
session = [[AVCaptureSession alloc] init];
[session beginConfiguration];
session.sessionPreset = AVCaptureSessionPresetHigh;
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
for (AVCaptureDevice *cam in [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo])
{
if (cam.position == AVCaptureDevicePositionFront)
device = cam;
}
NSError *error = nil;
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];
if (!input) {
//Handle the error appropriately.
NSLog(@"ERROR: trying to open camera: %@", error);
}
AVCaptureDevice *audioDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];
AVCaptureDeviceInput * audioInput = [AVCaptureDeviceInput deviceInputWithDevice:audioDevice error:nil];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
NSString *outputpathofmovie = [[documentsDirectoryPath stringByAppendingPathComponent:@"RecordedVideo"] stringByAppendingString:@".mp4"];
outputURL = [[NSURL alloc] initFileURLWithPath:outputpathofmovie];
[self deleteTempVideos];
[session addInput:input];
[session addInput:audioInput];
[session commitConfiguration];
[session startRunning];
movieFileOutput = [[AVCaptureMovieFileOutput alloc] init];
NSLog(@"%@", movieFileOutput.connections);
AVCaptureConnection *videoConnection = nil;
for ( AVCaptureConnection *connection in [movieFileOutput connections] )
{
NSLog(@"%@", connection);
for ( AVCaptureInputPort *port in [connection inputPorts] )
{
NSLog(@"%@", port);
if ( [[port mediaType] isEqual:AVMediaTypeVideo] )
{
videoConnection = connection;
}
}
}
if([videoConnection isVideoOrientationSupported]) //**Here it is, its always false**
{
[videoConnection setVideoOrientation:[[UIDevice currentDevice] orientation]];
}
NSLog(@"%@", videoConnection);
[session addOutput:movieFileOutput];
[movieFileOutput startRecordingToOutputFileURL:outputURL recordingDelegate:self];
InformationsquelleAutor der Frage Destiny Dawn | 2013-03-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es stellt sich heraus, müssen Sie die verbindungen der Ausrichtung der AVCaptureMovieFileOutput nach der Sitzung Hinzugefügt wird.
InformationsquelleAutor der Antwort Destiny Dawn
**
Versuchen, eine änderung seiner Orientierung, kurz bevor Sie mit der Aufnahme beginnen.
**
wo,
InformationsquelleAutor der Antwort Abdul Yasin
Probieren Sie etwas wie dieses:
http://developer.apple.com/library/ios/#qa/qa1744/_index.html#//apple_ref/doc/uid/DTS40011134
InformationsquelleAutor der Antwort Chris.Stover
Danke Destiny Dawn, incase jemand ist auf der Suche nach dem code für Xamarin ios:
InformationsquelleAutor der Antwort Chris