Pārlūkot izejas kodu

1, 点击空白区算完成 2, 隐藏功能键

jsonwang 3 gadi atpakaļ
vecāks
revīzija
b3dbd6d7d2

+ 26 - 18
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenController.swift

@@ -658,7 +658,7 @@ public class BFRecordScreenController: BFBaseViewController {
         audioSettingView.callBack = { [weak self] originalVolume, musicVolume in
 //            BFLog(1, message: "haveSpeak is:\(haveSpeak),noHaveSpeak is:\(noHaveSpeak)")
             guard let wself = self else { return }
-
+            wself.showOptBtn(isShow: true)
             wself.bgmModel?.volume = Int(musicVolume)
             wself.originalVolume = originalVolume / 100.0
             wself.choseMusicPanel.musicVolume = Double(musicVolume / 100.0)
@@ -763,6 +763,10 @@ public class BFRecordScreenController: BFBaseViewController {
         voiceSettingBtn.isHidden = !isShow
         subtitleBtn.isHidden = !isShow
         addMusicBtn.isHidden = !isShow
+        
+        cleanScreen?(!isShow)
+      
+      
     }
 
     @objc func didBecomeActive() {
@@ -887,22 +891,25 @@ public class BFRecordScreenController: BFBaseViewController {
 
         // 字幕设置回调
         subtitleSettingView.subtitleSettingCallBack = { [weak self] subtitileModel in
-
+            
             if let wself = self{
                 
-                //1,设置字幕样式
-                wself.setSubtitleStyle(settingModel: subtitileModel.setting)
-                
-                //2,显示设置文字,不显示设置为空
-                if(subtitileModel.setting.subtitleIsShow){
-                    wself.updateSubtitle(time: wself.currentAssetProgress)
-                }else{
-                    wself.subtitleLabel.text = ""
-                }
-        
-                // mdf by ak 这里是设置字幕开关回调
-                if wself.subTitleBtnClickHandle != nil {
-                    wself.subTitleBtnClickHandle!(subtitileModel.setting.subtitleIsShow)
+                wself.showOptBtn(isShow: true)
+                if(subtitileModel != nil){
+                    //1,设置字幕样式
+                    wself.setSubtitleStyle(settingModel: subtitileModel!.setting)
+                    
+                    //2,显示设置文字,不显示设置为空
+                    if(subtitileModel!.setting.subtitleIsShow){
+                        wself.updateSubtitle(time: wself.currentAssetProgress)
+                    }else{
+                        wself.subtitleLabel.text = ""
+                    }
+            
+                    // mdf by ak 这里是设置字幕开关回调
+                    if wself.subTitleBtnClickHandle != nil {
+                        wself.subTitleBtnClickHandle!(subtitileModel!.setting.subtitleIsShow)
+                    }
                 }
             }
          
@@ -979,7 +986,7 @@ public class BFRecordScreenController: BFBaseViewController {
         }
         voiceSettingView.voiceSettingCallBack = {[weak self] actionType ,selectVoice ,isSame in
             guard let wself = self else { return }
-          
+            wself.showOptBtn(isShow: true)
             if actionType == .VoiceSettingActionConfirm{//要生成真实音频文件
                 BFLog(2, message: "确认选择发音人操作")
                 if(wself.voiceBtnClickHandle != nil && selectVoice != nil){
@@ -1536,20 +1543,21 @@ public class BFRecordScreenController: BFBaseViewController {
     @objc func subTitleClick() {
         BFLog(message: "subTitle Click ")
         subtitleSettingView.isHidden = !subtitleSettingView.isHidden
-
+        showOptBtn(isShow: false)
         updateSubtitle(time: currentAssetProgress)
     }
 
     // 声音设置
     @objc func soundSetting() {
         BFLog(message: "设置声音")
-
+        showOptBtn(isShow: false)
         audioSettingView.isHidden = !audioSettingView.isHidden
     }
     
     //变声设置
     @objc func voiceSetting() {
         BFLog(message: "设置变音")
+        showOptBtn(isShow: false)
         if(mSelectVoiced != nil){
             voiceSettingView.selectVoice = mSelectVoiced
             voiceSettingView.flushSelectVoiceStatus(voiceStatue: .isSelected)

+ 1 - 0
BFRecordScreenKit/Classes/RecordScreen/View/BFMusicCutView.swift

@@ -152,6 +152,7 @@ class BFMusicCutView: UIView, UIGestureRecognizerDelegate {
 
         backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0)
         backView.backgroundColor = UIColor.hexColor(hexadecimal: "#121212")
+        addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(okBtnAction)))
 
         addSubview(backView)
         backView.snp.makeConstraints { make in

+ 4 - 1
BFRecordScreenKit/Classes/RecordScreen/View/BFSubtitleSettingView.swift

@@ -11,7 +11,7 @@ import BFUIKit
 import Foundation
 import UIKit
 
-typealias SubtitleSettingCallBack = (_ subtitileModel: PQEditSubTitleModel) -> Void
+typealias SubtitleSettingCallBack = (_ subtitileModel: PQEditSubTitleModel?) -> Void
 
 class BFSubtitleSettingView: UIView {
     required init?(coder _: NSCoder) {
@@ -218,6 +218,9 @@ class BFSubtitleSettingView: UIView {
 
     @objc func hidden() {
         isHidden = true
+        if subtitleSettingCallBack != nil {
+            subtitleSettingCallBack!(subtitle)
+        }
     }
 
     @objc func styleSetting(sender: UIButton) {

+ 2 - 1
BFRecordScreenKit/Classes/RecordScreen/View/BFVoiceSettingView.swift

@@ -148,7 +148,8 @@ class BFVoiceSettingView: UIView {
     override init(frame: CGRect) {
         super.init(frame: frame)
 
-        backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5)
+        backgroundColor = .clear
+        addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(okBtnAction)))
         backView.backgroundColor = UIColor.hexColor(hexadecimal: "#121212")
 
         addSubview(backView)