BFAudioSettingView.swift 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. //
  2. // BFAudioSettingView.swift
  3. // BFRecordScreenKit
  4. //
  5. // Created by ak on 2021/12/15.
  6. // 功能:设置视频素材的音量
  7. import Foundation
  8. import BFMediaKit
  9. import BFCommonKit
  10. import BFUIKit
  11. typealias BFAudioSettingViewCallBack = (_ haveSpeak: Float,_ noHaveSpeak:Float) -> Void
  12. class BFAudioSettingView: UIView {
  13. var callBack: BFAudioSettingViewCallBack?
  14. //操作板背景
  15. let backView = UIView.init()
  16. // 标题
  17. public lazy var haveSpeakLab: UILabel = {
  18. let haveSpeakLab = UILabel()
  19. haveSpeakLab.font = UIFont.boldSystemFont(ofSize: 16)
  20. haveSpeakLab.textAlignment = .left
  21. haveSpeakLab.text = "说话时 视频音量"
  22. haveSpeakLab.textColor = .white
  23. haveSpeakLab.backgroundColor = .clear
  24. return haveSpeakLab
  25. }()
  26. //有录音
  27. lazy var haveSpeakSlider: BFUISlider = {
  28. let haveSpeakSlider = BFUISlider()
  29. let thbImage = UIImage.moduleImage(named: BFConfig.shared.silderPinUsedImageName, moduleName: "BFFramework", isAssets: false)
  30. haveSpeakSlider.setMinimumTrackImage(thbImage, for: .normal)
  31. haveSpeakSlider.setMaximumTrackImage(thbImage, for: .normal)
  32. haveSpeakSlider.setThumbImage(thbImage, for: .highlighted)
  33. haveSpeakSlider.setThumbImage(thbImage, for: .normal)
  34. haveSpeakSlider.maximumTrackTintColor = UIColor.hexColor(hexadecimal: "#E6E8E8")
  35. haveSpeakSlider.minimumTrackTintColor = UIColor.hexColor(hexadecimal: BFConfig.shared.styleColor.rawValue)
  36. haveSpeakSlider.tag = 10
  37. haveSpeakSlider.unit = "%"
  38. // speechSlidView.addTarget(self, action: #selector(sliderTouchEnded(sender:)), for: .touchUpInside)
  39. haveSpeakSlider.maximumValue = 100
  40. haveSpeakSlider.minimumValue = 0
  41. haveSpeakSlider.isMovePoint = false
  42. haveSpeakSlider.valueTextColor = UIColor.hexColor(hexadecimal: BFConfig.shared.styleColor.rawValue)
  43. haveSpeakSlider.value = 0.0
  44. return haveSpeakSlider
  45. }()
  46. // 标题
  47. public lazy var noSpeakLab: UILabel = {
  48. let noSpeakLab = UILabel()
  49. noSpeakLab.font = UIFont.boldSystemFont(ofSize: 16)
  50. noSpeakLab.textAlignment = .left
  51. noSpeakLab.text = "没说话时 视频音量"
  52. noSpeakLab.textColor = .white
  53. return noSpeakLab
  54. }()
  55. lazy var noSpeakSlider: BFUISlider = {
  56. let noSpeakSlider = BFUISlider()
  57. let thbImage = UIImage.moduleImage(named: BFConfig.shared.silderPinUsedImageName, moduleName: "BFFramework", isAssets: false)
  58. noSpeakSlider.setMinimumTrackImage(thbImage, for: .normal)
  59. noSpeakSlider.setMaximumTrackImage(thbImage, for: .normal)
  60. noSpeakSlider.setThumbImage(thbImage, for: .highlighted)
  61. noSpeakSlider.setThumbImage(thbImage, for: .normal)
  62. noSpeakSlider.maximumTrackTintColor = UIColor.hexColor(hexadecimal: "#E6E8E8")
  63. noSpeakSlider.minimumTrackTintColor = UIColor.hexColor(hexadecimal: BFConfig.shared.styleColor.rawValue)
  64. noSpeakSlider.tag = 20
  65. noSpeakSlider.isMovePoint = false
  66. // speechSlidView.addTarget(self, action: #selector(sliderTouchEnded(sender:)), for: .touchUpInside)
  67. noSpeakSlider.maximumValue = 100
  68. noSpeakSlider.minimumValue = 0
  69. noSpeakSlider.unit = "%"
  70. noSpeakSlider.valueTextColor = UIColor.hexColor(hexadecimal: BFConfig.shared.styleColor.rawValue)
  71. noSpeakSlider.value = 100
  72. return noSpeakSlider
  73. }()
  74. override init(frame: CGRect) {
  75. super.init(frame: frame)
  76. self.backgroundColor = UIColor.clear
  77. addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(hidden)))
  78. backView.backgroundColor = .black
  79. addSubview(backView)
  80. backView.snp.makeConstraints { make in
  81. make.right.equalTo(self.snp.right)
  82. make.bottom.equalTo(self.snp.bottom)
  83. make.width.equalTo(cScreenWidth)
  84. make.height.equalTo(220)
  85. }
  86. backView.addSubview(haveSpeakSlider)
  87. backView.addSubview(noSpeakSlider)
  88. backView.addSubview(haveSpeakLab)
  89. backView.addSubview(noSpeakLab)
  90. haveSpeakLab.snp.makeConstraints { make in
  91. make.left.equalToSuperview().offset(16)
  92. make.right.equalToSuperview().offset(-16)
  93. make.top.equalToSuperview().offset(25)
  94. }
  95. haveSpeakSlider.snp.makeConstraints { make in
  96. make.left.equalToSuperview().offset(16)
  97. make.right.equalToSuperview().offset(-16)
  98. make.top.equalTo(haveSpeakLab).offset(24)
  99. }
  100. noSpeakLab.snp.makeConstraints { make in
  101. make.left.equalToSuperview().offset(16)
  102. make.right.equalToSuperview().offset(-16)
  103. make.top.equalTo(haveSpeakSlider).offset(42)
  104. }
  105. noSpeakSlider.snp.makeConstraints { make in
  106. make.left.equalToSuperview().offset(16)
  107. make.right.equalToSuperview().offset(-16)
  108. make.top.equalTo(noSpeakLab).offset(24)
  109. }
  110. }
  111. override func layoutSubviews() {
  112. super.layoutSubviews()
  113. self.backView.addCorner(roundingCorners: [.topLeft, .topRight], corner: 10)
  114. }
  115. required init?(coder: NSCoder) {
  116. fatalError("init(coder:) has not been implemented")
  117. }
  118. @objc func hidden(){
  119. self.isHidden = true
  120. if(callBack != nil){
  121. callBack!(haveSpeakSlider.value,noSpeakSlider.value)
  122. }
  123. }
  124. }