|
@@ -182,6 +182,28 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
return toolV
|
|
|
|
|
|
}()
|
|
|
+
|
|
|
+ //头像 add by ak
|
|
|
+ lazy var avatarView:BFRecordAvatarView = {
|
|
|
+ let avatarView = BFRecordAvatarView.init(frame: CGRect.init(x: 10, y: 10, width: 200, height: 200))
|
|
|
+ avatarView.isHidden = true
|
|
|
+ return avatarView
|
|
|
+ }()
|
|
|
+ //打开摄像头
|
|
|
+ lazy var openCameraBtn:UIButton = {
|
|
|
+ let btn = UIButton(type: .custom)
|
|
|
+ btn.setImage(imageInRecordScreenKit(by: "openCamera"), for: .normal)
|
|
|
+ btn.addTarget(self, action: #selector(openCamera), for: .touchUpInside)
|
|
|
+ return btn
|
|
|
+ }()
|
|
|
+ //画笔
|
|
|
+ lazy var drawPinBtn:UIButton = {
|
|
|
+ let btn = UIButton(type: .custom)
|
|
|
+ btn.setImage(imageInRecordScreenKit(by: "drawPin"), for: .normal)
|
|
|
+ btn.addTarget(self, action: #selector(drawPin), for: .touchUpInside)
|
|
|
+ return btn
|
|
|
+ }()
|
|
|
+
|
|
|
//MARK: ------------------ 生命周期
|
|
|
deinit {
|
|
|
cleanMovieTarget()
|
|
@@ -212,6 +234,10 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
view.addSubview(playBtn)
|
|
|
view.addSubview(bottomeView)
|
|
|
view.addSubview(progreddL)
|
|
|
+ view.addSubview(avatarView)
|
|
|
+ view.addSubview(openCameraBtn)
|
|
|
+ view.addSubview(drawPinBtn)
|
|
|
+
|
|
|
// view.addSubview(toolV)
|
|
|
bottomeView.addSubview(recordBtn)
|
|
|
bottomeView.addSubview(progessSildeBackV)
|
|
@@ -260,6 +286,20 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
make.height.equalTo(20)
|
|
|
}
|
|
|
|
|
|
+ openCameraBtn.snp.makeConstraints { make in
|
|
|
+ make.right.equalToSuperview().offset(-12)
|
|
|
+ make.top.equalToSuperview().offset(98)
|
|
|
+ make.width.equalTo(80)
|
|
|
+ make.height.equalTo(124)
|
|
|
+ }
|
|
|
+
|
|
|
+ drawPinBtn.snp.makeConstraints { make in
|
|
|
+ make.right.equalTo(openCameraBtn)
|
|
|
+ make.top.equalTo(openCameraBtn.bottomY).offset(23)
|
|
|
+ make.width.equalTo(80)
|
|
|
+ make.height.equalTo(124)
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
// MARK: - 按钮事件响应
|
|
@@ -305,6 +345,22 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @objc func openCamera(){
|
|
|
+
|
|
|
+ if(avatarView.isHidden){
|
|
|
+ avatarView.isHidden = false
|
|
|
+ avatarView.openCamera()
|
|
|
+ }else{
|
|
|
+ avatarView.isHidden = true
|
|
|
+ avatarView.closeCamera()
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @objc func drawPin(){
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@objc func startRecord(){
|
|
|
recordBtn.setImage(imageInRecordScreenKit(by: "mic2"), for: .normal)
|
|
|
BFLog(1, message: "start \(UIControl.Event.touchDown)")
|
|
@@ -313,21 +369,29 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
let model = PQVoiceModel()
|
|
|
model.startTime = CMTimeGetSeconds(self.currentAssetProgress)
|
|
|
model.volume = 100
|
|
|
- recorderManager.voiceModel = model
|
|
|
- recorderManager.startRecord(index: recordList.count)
|
|
|
+// recorderManager.voiceModel = model
|
|
|
+// recorderManager.startRecord(index: recordList.count)
|
|
|
movie?.startProcessing()
|
|
|
assetPlayer?.volume = 0
|
|
|
assetPlayer?.play()
|
|
|
isRecording = true
|
|
|
+
|
|
|
+ if(!avatarView.isHidden){
|
|
|
+ avatarView.beginRecord()
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@objc func endRecord(){
|
|
|
recordBtn.setImage(imageInRecordScreenKit(by: "mic1"), for: .normal)
|
|
|
// 存储录音
|
|
|
- recorderManager.endRecord()
|
|
|
+// recorderManager.endRecord()
|
|
|
isRecording = false
|
|
|
|
|
|
pause()
|
|
|
+ if(!avatarView.isHidden){
|
|
|
+ avatarView.endRecord()
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
func cancleRecord(){
|
|
@@ -662,7 +726,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
let width = self?.progessSildeBackV.width ?? 0
|
|
|
let height = self?.progessSildeBackV.height ?? 0
|
|
|
list.forEach { model in
|
|
|
- let lineV = UIView(frame: CGRect(x: model.startTime * width / totalDur , y: 0, width: (model.endTime - model.startTime) * width / totalDur, height: height))
|
|
|
+ let lineV = UIView(frame: CGRect(x: model.startTime * Double(width) / totalDur , y: 0, width: (model.endTime - model.startTime) * Double(width) / totalDur, height: Double(height)))
|
|
|
lineV.backgroundColor = UIColor.hexColor(hexadecimal: "#28BE67")
|
|
|
self?.progessSildeBackV.addSubview(lineV)
|
|
|
}
|