我正在尝试编写一个涉及前后摄像头并在它们之间切换的应用程序.据我所知,在addVideoInput方法中,我必须更改ID
AVCaptureDevice *videoDevice = [AVCaptureDevice deviceWithUniqueID:(NSString *)deviceUniqueID];
Run Code Online (Sandbox Code Playgroud)
但是哪些NSStrings是那些ID?
或者,如果应该以其他方式完成,请提出建议.
谢谢你的帮助!
Kno*_*del 28
好的,我设法找到了解决方案.我不知道它是对还是错,它取自http://www.bunnyhero.org/2010/08/15/turn-your-iphone-into-a-vampire-with-avfoundation-and-ios -4 /
只是用
AVCaptureDevice *captureDevice = [self frontFacingCameraIfAvailable];
Run Code Online (Sandbox Code Playgroud)
其中frontFacingCameraIfAvailable是:
-(AVCaptureDevice *)frontFacingCameraIfAvailable
{
NSArray *videoDevices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
AVCaptureDevice *captureDevice = nil;
for (AVCaptureDevice *device in videoDevices)
{
if (device.position == AVCaptureDevicePositionFront)
{
captureDevice = device;
break;
}
}
// couldn't find one on the front, so just get the default video device.
if ( ! captureDevice)
{
captureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
}
return captureDevice;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7618 次 |
| 最近记录: |