在iOS swift中观看录制?

时间:2017-08-09 07:17:21

标签: ios iphone swift

是否有任何库可以记录特定UIView的活动(我遇到了这个lib [ASScreenRecorder - master]但是当我尝试在swift中使用它时显示许多错误)或任何其他记录UIView的方式,显示一些动画,如落雪和幻灯片放映的图像?我希望将它们录制为单个视频并将其保存到图库中。我一直在寻找一些解决方案,但我仍然无法记录视图。请帮忙。提前谢谢。

func start() {
    let sharedRecorder = RPScreenRecorder.shared()

    // Do nothing if screen recording is not available
    guard sharedRecorder.isAvailable else { return }

    // Stop previous recording if necessary
    if sharedRecorder.isRecording {
        stopScreenRecording()
    }

    print("Starting screen recording")

    // Register as the recorder's delegate to handle errors.
    sharedRecorder.delegate = self

    // Start recording
    if #available(iOS 10.0, *) {
        #if os(iOS)
            sharedRecorder.isMicrophoneEnabled = true
            //sharedRecorder.isCameraEnabled = true // fixme
        #endif

        sharedRecorder.startRecording { [unowned self] error in
            if let error = error as? NSError, error.code != RPRecordingErrorCode.userDeclined.rawValue {
                print(error.localizedDescription)
                // Show alert
                return
            }
        }
    } else {
        // Fallback on earlier versions
        sharedRecorder.startRecording(withMicrophoneEnabled: true) { error in
            if let error = error as? NSError, error.code != RPRecordingErrorCode.userDeclined.rawValue {
                print(error.localizedDescription)
                // Show alert
                return
            }
        }
    }
}

1 个答案:

答案 0 :(得分:3)

不幸的是,您目前无法录制特定的UIView。你可以使用ReplayKit录制整个屏幕,但我知道这不是你想要的。

其他想法:

录制“整个屏幕”,但尝试裁剪到UIView。 (见this tutorial)。想想你的应用程序中记录整个屏幕的方式 - 可能会将UIView扩展到屏幕边界。

尝试查看其中一些Github文件:

  

File1

     

File2

     

File3