|
@@ -17,10 +17,13 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
|
|
|
public var nextActionHandle:(()->Void)?
|
|
|
public var closeActionHandle:(()->Void)?
|
|
|
+
|
|
|
+ // MARK: - 录制参数
|
|
|
public var asset:PHAsset?
|
|
|
+
|
|
|
+ // 视频素材
|
|
|
public var avasset:AVURLAsset?
|
|
|
public var recordList:[PQVoiceModel] = [PQVoiceModel]()
|
|
|
-
|
|
|
var assetPlayer:AVPlayer? // 原视频音频播放器
|
|
|
lazy var recordPlayer:AVAudioPlayer = {// 录音音频播放器
|
|
|
let player = AVAudioPlayer()
|
|
@@ -30,7 +33,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
}()
|
|
|
var movie :GPUImageMovie? // 视频预览
|
|
|
var playView :GPUImageView? // 视频展示视图
|
|
|
- var isDragingProgressSlder : Bool = false
|
|
|
+ var isDragingProgressSlder : Bool = false // 是否在拖动进度条
|
|
|
|
|
|
//定义音频的编码参数
|
|
|
let recordSettings:[String : Any] = [AVSampleRateKey : 44100.0, //声音采样率
|
|
@@ -67,6 +70,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
return manager
|
|
|
}()
|
|
|
|
|
|
+ // MARK: - 视图参数
|
|
|
var beginOnStartBtn:Bool = false
|
|
|
var touchStart:CGPoint = CGPoint(x: 0, y: 0)
|
|
|
var avplayerTimeObserver: NSKeyValueObservation?
|
|
@@ -133,7 +137,22 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
return btn
|
|
|
}()
|
|
|
|
|
|
- //MARK: -- 生命周期
|
|
|
+ lazy var toolV : BFIntroduceToolView = {
|
|
|
+ let toolV = BFIntroduceToolView()
|
|
|
+ toolV.centerY = view.centerY
|
|
|
+
|
|
|
+ toolV.choosedToolHandle = {[weak self] tool in
|
|
|
+ guard let sself = self else {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ tool.center = sself.view.center
|
|
|
+ sself.view.addSubview(tool)
|
|
|
+ }
|
|
|
+
|
|
|
+ return toolV
|
|
|
+
|
|
|
+ }()
|
|
|
+ //MARK: ------------------ 生命周期
|
|
|
deinit {
|
|
|
cleanMovieTarget()
|
|
|
NotificationCenter.default.removeObserver(self)
|
|
@@ -160,9 +179,9 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
view.addSubview(playView!)
|
|
|
fetchVideo()
|
|
|
|
|
|
-
|
|
|
view.addSubview(playBtn)
|
|
|
view.addSubview(bottomeView)
|
|
|
+ view.addSubview(toolV)
|
|
|
bottomeView.addSubview(recordBtn)
|
|
|
bottomeView.addSubview(progessSilde)
|
|
|
bottomeView.addSubview(closeBtn)
|
|
@@ -364,7 +383,10 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
cShowHUB(superView: nil, msg: "开始播放")
|
|
|
assetPlayer?.volume = 0.5
|
|
|
movie?.startProcessing()
|
|
|
+ let second = assetPlayer?.currentItem?.currentTime()
|
|
|
+
|
|
|
assetPlayer?.play()
|
|
|
+ assetPlayer?.seek(to: second ?? CMTime.zero)
|
|
|
playRecord(at: CMTime.zero)
|
|
|
}
|
|
|
|