我目前能够录制视频到一个AVCaptureMovieFileOutput实例,但我找不到任何来源,从中可以看出视频回放是如何可能的snapchat/facebook/instagram能够产生。
我是否应该使用AVCaptureVideoPreviewLayer,如果是这样的话,我将如何做到这一点,因为我能够成功地记录到AVCaptureMovieFileOutput实例。一个解决方案或指导将是非常有用的!
或者是一个特定的控制器,玩家等等?我发现唯一的游戏是AVPlayerViewController,但是它不是一个没有按钮和进度条的播放器。
func captureMovie(withDelegate delegate: AVCaptureFileOutputRecordingDelegate) {
if movieOutput.isRecording == false {
let connection = movieOutput.connection(withMediaType: AVMediaTypeVideo)
if (connection?.isVideoStabilizationSupported)! {
connection?.preferredVideoStabilizationMode = AVCaptureVideoStabilizationMode.auto
}
let device = activeInput.device
if (device?.isSmoothAutoFocusEnabled)! {
do {
try device?.lockForConfiguration()
device?.isSmoothAutoFocusEnabled = false
device?.unlockForConfiguration()
}
catch {
print("Error smooth auto focus")
}
}
let outputURL = tempURL()
movieOutput.startRecording(toOutputFileURL: outputURL, recordingDelegate: delegate)
} else {
stopRecording()
}
}发布于 2017-06-14 08:27:53
因为AVCaptureMovieFileOutput将电影保存到文件URL中。我们需要使用AVPlayerViewController或AVPlayerLayer来播放它。
您的最佳解决方案是在outputURL中在AVPlayerViewController中播放视频,并隐藏按钮和进度栏等控件,使用下面的属性设置false。
@property(非原子) BOOL showsPlaybackControls;
查看下面的链接以获得更多信息
https://stackoverflow.com/questions/44511552
复制相似问题