Cela fait ma tête dansComment enregistrer une vidéo à l'écran dans une application de paysage?
Je travaille à partir de cet exemple de projet:. https://github.com/jj0b/AROverlayExample
Cela fonctionne parfaitement. Le seul problème est que c'est une application portrait. Ainsi, lorsque je fais pivoter l'appareil en mode paysage, la vidéo s'affiche toujours comme voulu, mais toutes mes étiquettes et mon interface utilisateur sont maintenant latérales.
Pour résoudre ce problème, je suis mise en paysage que dans le info.plist
problème est le suivant:
Voici mon code:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
assert(self.autoresizesSubviews);
CGPoint layerRectCenter = CGPointMake(CGRectGetMidX(frame),
CGRectGetMidY(frame));
// Initialization code
self.captureSession = [[[AVCaptureSession alloc] init] autorelease];
// addVideoInput
{
AVCaptureDevice* videoDevice = [AVCaptureDevice defaultDeviceWithMediaType: AVMediaTypeVideo];
if (videoDevice)
{
NSError *error;
AVCaptureDeviceInput* videoIn = [AVCaptureDeviceInput deviceInputWithDevice: videoDevice error:&error];
if (! error)
{
if ([self.captureSession canAddInput:videoIn])
[self.captureSession addInput:videoIn];
else
NSLog(@"Couldn't add video input");
}
else
NSLog(@"Couldn't create video input");
}
else
NSLog(@"Couldn't create video capture device");
}
// addVideoPreviewLayer
{
self.previewLayer = [[[AVCaptureVideoPreviewLayer alloc] initWithSession: self.captureSession] autorelease];
self.previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
self.previewLayer.frame = CGRectMake(0, 0, 480, 300);
self.previewLayer.orientation = AVCaptureVideoOrientationLandscapeRight;
//self.previewLayer.frame = frame;
[self.layer addSublayer: self.previewLayer];
}
// run!
[self.captureSession startRunning];
}
return self;
}
Je n'arrive pas à comprendre pourquoi la vidéo est affichée sur le côté et, bien que le cadre des calques soit défini spécifiquement pour le paysage CGRectMake (0, 0, 480, 300), il sort dans l'autre sens.
est AVcapturePreviewlayer enregistré dans capture d'écran? –
est votre AVcapturePreviewlayer enregistré en capture d'écran vidéo ?. –
je suis dans le besoin !!! –