在Swift 2.3中,我使用以下代码在自定义相机中拍照:
func didPressTakePhoto(){
if let videoConnection = stillImageOutput!.connection(withMediaType: AVMediaTypeVideo) {
stillImageOutput?.captureStillImageAsynchronouslyFromConnection(videoConnection, completionHandler: { (sampleBuffer, error) -> Void in
if sampleBuffer != nil {
let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(sampleBuffer)
let dataProvider = CGDataProviderCreateWithCFData(imageData)
let cgImageRef = CGImageCreateWithJPEGDataProvider(dataProvider, nil, true, CGColorRenderingIntent.RenderingIntentDefault)
let image = UIImage(CGImage: cgImageRef!, scale: 1.0, orientation: UIImageOrientation.Right)
self.captureImageView.image = image
}
})
}
}
但是他的话:
stillImageOutput?.captureStillImageAsynchronouslyFromConnection(videoConnection, completionHandler: { (sampleBuffer, error) -> Void in
显示此错误:
类型“ AVCapturePhotoOutput”的值没有成员“
captureStillImageAsynchronouslyFromConnection”
我尝试解决问题,但是我总是收到越来越多的错误,所以这就是我发布原始代码的原因。
有人知道如何使我的代码再次起作用吗?
谢谢。
多亏了Sharpkits,我找到了解决方案(此代码对我有用):
func capture(_ captureOutput: AVCapturePhotoOutput, didFinishProcessingPhotoSampleBuffer photoSampleBuffer: CMSampleBuffer?, previewPhotoSampleBuffer: CMSampleBuffer?, resolvedSettings: AVCaptureResolvedPhotoSettings, bracketSettings: AVCaptureBracketedStillImageSettings?, error: Error?) {
if let error = error {
print(error.localizedDescription)
}
if let sampleBuffer = photoSampleBuffer, let previewBuffer = previewPhotoSampleBuffer,
let dataImage = AVCapturePhotoOutput.jpegPhotoDataRepresentation(forJPEGSampleBuffer: sampleBuffer, previewPhotoSampleBuffer: previewBuffer) {
let imageData = AVCapturePhotoOutput.jpegPhotoDataRepresentation(forJPEGSampleBuffer: sampleBuffer, previewPhotoSampleBuffer: nil)
let dataProvider = CGDataProvider(data: imageData as! CFData)
let cgImageRef = CGImage(jpegDataProviderSource: dataProvider!, decode: nil, shouldInterpolate: true, intent: CGColorRenderingIntent.absoluteColorimetric)
let image = UIImage(cgImage: cgImageRef!, scale: 1.0, orientation: UIImageOrientation.right)
let cropedImage = self.cropToSquare(image: image)
let newImage = self.scaleImageWith(cropedImage, and: CGSize(width: 600, height: 600))
print(UIScreen.main.bounds.width)
self.tempImageView.image = newImage
self.tempImageView.isHidden = false
} else {
}
}
我创建了自定义相机活动,但拍摄的图像方向错误。当我在纵向模式下拍摄图像并将其旋转90度后。它处于原始位置,但在横向模式下以错误方向拍摄图像。 相机方向在纵向模式下捕获图像时 用于解决相机预览问题。 检查位图方向。
uniapp 自定义相机进行连续拍照 1.使用live-pusher 在进行拍照的时候 snapshot提示未定义 2.video 和 canvas 但是视频流没有显示出来 video显示的圈 结果 自定义相机可以单拍也可以连续拍多张
本文向大家介绍Android 用 camera2 API 自定义相机,包括了Android 用 camera2 API 自定义相机的使用技巧和注意事项,需要的朋友参考一下 前言 笔者因为项目需要自定义相机,所以了解了一下 Android 关于 camera 这块的 API。Android SDK 21(LOLLIPOP) 开始已经弃用了之前的 Camera 类,提供了 camera2 相关 API
所以我遇到了一个问题,前面在我提问的问题中提到过:将图像(ACTION_image_CAPTURE)上载到Firebase存储 我对这个问题进行了更多的搜索,并应用了Android Studio文档:https://developer.android.com/training/camera/photobasics.html#TaskPhotoView 所以,在您阅读代码之前,我基本上想说一下需要什
我已经阅读了几个文档和堆栈,但是我不太确定如何实现这个。。。 帮助或示例代码将真正帮助我理解更多。 下面是运行相机的代码集,它工作得非常好,我的下一个问题是,我如何让它自动保存到手机库中?
本课的目标是整合Camera这样我们可以用他来拍照了,但是要达到这个目标需要下点功夫。 除了要出发相机拍照之外,我们还要: 将照片移动到手机上的持久储存 在模板中展示这些照片 显示其他的照片 允许删除照片 这样看来本课程还是蛮大的。在本应用的开始部分我们设置了Ionic Native,也就是基础部分里面的内容,Ionic Native是Ionic包装好的Cordova插件,使用更简单。 本课程中将