如果我在使用 AVFoundation 时不结束会话是不是很糟糕?
Is it bad if I do not end the session when using AVFoundation?
我已经为像 snapchat 这样的相机应用程序编写了一些代码,用户可以在其中按下一个按钮来拍摄视频。为了尝试加快从一个视图到另一个视图的过程,我们已经摆脱了波纹管功能:
func stopSession() {
//if it is running then stop running
if captureSession.isRunning {
videoQueue().async {
self.captureSession.stopRunning()
}
}
}
我只使用:
而不是调用它
func stopRecording() {
if movieOutput.isRecording == true {
movieOutput.stopRecording()
}
}
这导致当用户松开按钮时它会立即变为预览。我还没有发现因此而发生的任何错误。所以我想知道...这样做有什么问题吗?
不要跳过停止会话
stopRunning()
This method is used to stop the flow of data from the inputs to the outputs connected to the AVCaptureSession instance that is the receiver. This method is synchronous and blocks until the receiver has completely stopped running.
尽管它会加快您的进程,但流程将继续,这会耗尽用户的资源,stopRecording
只会停止写入您在此处设置的输出文件
startRecording(to:recordingDelegate:)
我已经为像 snapchat 这样的相机应用程序编写了一些代码,用户可以在其中按下一个按钮来拍摄视频。为了尝试加快从一个视图到另一个视图的过程,我们已经摆脱了波纹管功能:
func stopSession() {
//if it is running then stop running
if captureSession.isRunning {
videoQueue().async {
self.captureSession.stopRunning()
}
}
}
我只使用:
而不是调用它 func stopRecording() {
if movieOutput.isRecording == true {
movieOutput.stopRecording()
}
}
这导致当用户松开按钮时它会立即变为预览。我还没有发现因此而发生的任何错误。所以我想知道...这样做有什么问题吗?
不要跳过停止会话
stopRunning()
This method is used to stop the flow of data from the inputs to the outputs connected to the AVCaptureSession instance that is the receiver. This method is synchronous and blocks until the receiver has completely stopped running.
尽管它会加快您的进程,但流程将继续,这会耗尽用户的资源,stopRecording
只会停止写入您在此处设置的输出文件
startRecording(to:recordingDelegate:)