- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 iOS 新手,正在尝试使用 AvCam 创建自定义相机。我在获取横向预览时遇到问题 - 它会将 View 顺时针旋转 90 度并在半个屏幕上显示。
我收到此消息 -
WARNING: -[ setOrientation:] is deprecated.
请使用 AVCaptureConnection 的 -setVideoOrientation:
AVCaptureConnection 已经设置了方向,所以我不知道我还应该做什么。
我知道这个问题在以前的 iOS 版本(4,5)中被问过很多次,但这些技术/代码都不适合我(iOS 6)。
原始代码(Apple 未进行任何更改)
if ([self captureManager] == nil) {
AVCamCaptureManager *manager = [[AVCamCaptureManager alloc] init];
[self setCaptureManager:manager];
[manager release];
[[self captureManager] setDelegate:self];
if ([[self captureManager] setupSession]) {
// Create video preview layer and add it to the UI
AVCaptureVideoPreviewLayer *newCaptureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:[[self captureManager] session]];
UIView *view = [self videoPreviewView];
CALayer *viewLayer = [view layer];
[viewLayer setMasksToBounds:YES];
CGRect bounds = [view bounds];
[newCaptureVideoPreviewLayer setFrame:bounds];
if ([newCaptureVideoPreviewLayer isOrientationSupported]) {
[newCaptureVideoPreviewLayer setOrientation:AVCaptureVideoOrientationPortrait];
}
[newCaptureVideoPreviewLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
[viewLayer insertSublayer:newCaptureVideoPreviewLayer below:[[viewLayer sublayers] objectAtIndex:0]];
[self setCaptureVideoPreviewLayer:newCaptureVideoPreviewLayer];
AVCaptureConnection block :
-(void)startRecordingWithOrientation:(AVCaptureVideoOrientation)videoOrientation; {
AVCaptureConnection *videoConnection = [AVCamUtilities connectionWithMediaType:AVMediaTypeVideo fromConnections:[[self movieFileOutput] connections]];
if ([videoConnection isVideoOrientationSupported])
[videoConnection setVideoOrientation:videoOrientation];
[[self movieFileOutput] startRecordingToOutputFileURL:[self outputFileURL] recordingDelegate:self];
}
最佳答案
上次我也偶然发现了这个问题。我通过做两件事解决了这个问题
获得正确的方向
替换
if ([newCaptureVideoPreviewLayer isOrientationSupported]) {
[newCaptureVideoPreviewLayer setOrientation:AVCaptureVideoOrientationPortrait];
}
与
if ([newCaptureVideoPreviewLayer.connection isVideoOrientationSupported]) {
[newCaptureVideoPreviewLayer.connection setVideoOrientation:[UIDevice currentDevice].orientation];
}
在初始化期间强制更新视频方向,以通过触发捕获横向模式下的视频输出- (void)deviceOrientationDidChange
在 AVCaptureManager.m
中手动进行
我将其添加到:
- (BOOL) setupSession
{
BOOL success = NO;
...
AVCamRecorder *newRecorder = [[AVCamRecorder alloc] initWithSession:[self session] outputFileURL:self.lastOutputfileURL];
[newRecorder setDelegate:self];
[self performSelector:@selector(deviceOrientationDidChange)];
...
return success;
}
关于iphone - AvCam iOS 6 中的风景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12966175/
我正在使用 LinearLayout 进行设计,它适用于纵向但横向排列正确。我不使用 x,y 位置。如果我更改 xml 中的任何内容都会影响设计——我该如何设计纵向和横向? 最佳答案 您可以指定一个
在我的相机应用中,您可以在前置和后置摄像头之间切换。当我用后置摄像头拍照时,照片与预览显示的一样。但是当我切换到前置摄像头时,图片是镜像的。我认为前后摄像头处于横向模式有关系。我已经尝试了几乎所有关于
我应该同时使用横向和纵向吗 @media only screen and (min-device-width: 320px) and (max-device-width: 480px) {} 或像这样
我已经安装好了。但是,当我这样做时: go get -u github.com/dmlittle/scenery 我得到: # github.com/dmlittle/scenery/pkg/pars
我正在为 iOS7 优化网站。我发现,在 safari mobile 上将方向更改为横向时,网站会全屏显示,但浏览器会阻止 View 顶部和底部的一些高度和宽度像素。该区域中的任何触摸或点击事件都不会
我用 iOS9 移动版 safari iPhone6sPlus 检查了这个错误。 当 safari 的标签在横向模式下显示时,我无法触摸固定元素。当标签隐藏时我可以触摸它。 显示 my demo在 i
我需要一个 java 库来确定哪个图像是“人体”;这是一张“人脸”;这是一个“动物”;这是一个“风景”等等。 有这样的东西吗? 谢谢 最佳答案 我不认为那里有什么方便的东西。特别是因为你在这里有非常广
我是一名优秀的程序员,十分优秀!