【问题标题】:Take screenshot from camera view从相机视图截取屏幕截图
【发布时间】:2017-05-05 11:43:23
【问题描述】:

更新

我正在使用sinch 库在我的应用中进行视频通话。 我有按钮在视频通话期间为整个屏幕截屏:

   @IBAction func photoAction(_ sender: Any) {

    let result = UIImage(view: self.videoView)
    UIImageWriteToSavedPhotosAlbum(result, nil, nil, nil)

    let result2 = UIImage(view: self.videoController!.localView())
    UIImageWriteToSavedPhotosAlbum(result2, nil, nil, nil)

}

call 是 SINClient
videoController 是 SINVideoController
localView 是 UIView,相机视图

截图功能正常,但截图中没有出现相机视图。

例如,这是屏幕截图self.view 以编程方式:

这个屏幕截图应该是这样的:

这个问题很常见,我看到很多用户遇到同样的问题,他们无法为相机视图截取屏幕截图,但没有给出有用的答案。

【问题讨论】:

  • 你不能使用标准的“ios”功能来截屏吗?
  • 哪一个?怎么样?
  • 我认为这应该会有所帮助...stackoverflow.com/q/25448879/3118477
  • 我已经尝试过但没有帮助:/

标签: ios objective-c swift xcode cocoa-touch


【解决方案1】:

如果我想触发一个简单的屏幕截图,我通常会使用这段代码:

static func screenshotOf(window: UIWindow) -> UIImage? {

UIGraphicsBeginImageContextWithOptions(window.bounds.size, true, UIScreen.main.scale)

        guard let currentContext = UIGraphicsGetCurrentContext() else {
            return nil
        }

        window.layer.render(in: currentContext)
        guard let image = UIGraphicsGetImageFromCurrentImageContext() else {
            UIGraphicsEndImageContext()
            return nil
        }

        UIGraphicsEndImageContext()
        return image
    }

我想这也应该适用于您的问题

【讨论】:

  • 我的视图包含相机会话子视图的问题我认为我应该使用 AVFoundation 截屏我不确定
  • 我明白你的意思,因为你是从我认为应该有帮助的按钮触发屏幕截图,无论如何你检查过这个问题吗? stackoverflow.com/questions/15863588/…
【解决方案2】:

为了解决这个问题,我必须将视频通话摄像头从后置摄像头切换到前置摄像头,以便用户可以使用后置摄像头拍照,一旦他完成拍照,我将视频通话切换回后置摄像头。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 2014-09-26
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多