123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- //
- // BFAudioSettingView.swift
- // BFRecordScreenKit
- //
- // Created by ak on 2021/12/15.
- // 功能:设置视频素材的音量
- import BFCommonKit
- import BFMediaKit
- import BFUIKit
- import Foundation
- // 1,原声音量 2,音乐音量
- typealias BFAudioSettingViewCallBack = (_ originalVolume: Float, _ musicVolume: Float) -> Void
- class BFAudioSettingView: UIView {
- var callBack: BFAudioSettingViewCallBack?
- // 操作板背景
- let backView = UIView()
- // 标题
- public lazy var originalMLab: UILabel = {
- let originalMLab = UILabel()
- originalMLab.font = UIFont.boldSystemFont(ofSize: 16)
- originalMLab.textAlignment = .left
- originalMLab.text = "原声"
- originalMLab.textColor = .white
- originalMLab.backgroundColor = .clear
- return originalMLab
- }()
- // 有录音
- lazy var originalMSlider: BFUISlider = {
- let originalMSlider = BFUISlider()
- let thbImage = UIImage.moduleImage(named: BFConfig.shared.silderPinUsedImageName, moduleName: "BFFramework", isAssets: false)
- originalMSlider.setMinimumTrackImage(thbImage, for: .normal)
- originalMSlider.setMaximumTrackImage(thbImage, for: .normal)
- originalMSlider.setThumbImage(thbImage, for: .highlighted)
- originalMSlider.setThumbImage(thbImage, for: .normal)
- originalMSlider.maximumTrackTintColor = UIColor.hexColor(hexadecimal: "#E6E8E8")
- originalMSlider.minimumTrackTintColor = UIColor.hexColor(hexadecimal: BFConfig.shared.styleColor.rawValue)
- originalMSlider.tag = 10
- originalMSlider.unit = "%"
- // speechSlidView.addTarget(self, action: #selector(sliderTouchEnded(sender:)), for: .touchUpInside)
- originalMSlider.maximumValue = 100
- originalMSlider.minimumValue = 0
- originalMSlider.isMovePoint = false
- originalMSlider.valueTextColor = UIColor.hexColor(hexadecimal: BFConfig.shared.styleColor.rawValue)
- originalMSlider.value = 20
- originalMSlider.valueChangedHandle = { [weak self] sender in
- if self?.callBack != nil {
- self?.callBack!(sender.value, self?.musicSlider.value ?? 0)
- }
- }
- return originalMSlider
- }()
- // 标题
- public lazy var musicLab: UILabel = {
- let musicLab = UILabel()
- musicLab.font = UIFont.boldSystemFont(ofSize: 16)
- musicLab.textAlignment = .left
- musicLab.text = "音乐"
- musicLab.textColor = .white
- return musicLab
- }()
- lazy var musicSlider: BFUISlider = {
- let musicSlider = BFUISlider()
- let thbImage = UIImage.moduleImage(named: BFConfig.shared.silderPinUsedImageName, moduleName: "BFFramework", isAssets: false)
- musicSlider.setMinimumTrackImage(thbImage, for: .normal)
- musicSlider.setMaximumTrackImage(thbImage, for: .normal)
- musicSlider.setThumbImage(thbImage, for: .highlighted)
- musicSlider.setThumbImage(thbImage, for: .normal)
- musicSlider.maximumTrackTintColor = UIColor.hexColor(hexadecimal: "#E6E8E8")
- musicSlider.minimumTrackTintColor = UIColor.hexColor(hexadecimal: BFConfig.shared.styleColor.rawValue)
- musicSlider.tag = 20
- musicSlider.isMovePoint = false
- // speechSlidView.addTarget(self, action: #selector(sliderTouchEnded(sender:)), for: .touchUpInside)
- musicSlider.maximumValue = 100
- musicSlider.minimumValue = 0
- musicSlider.unit = "%"
- musicSlider.valueTextColor = UIColor.hexColor(hexadecimal: BFConfig.shared.styleColor.rawValue)
- musicSlider.value = 20
- musicSlider.valueChangedHandle = { [weak self] sender in
- if self?.callBack != nil {
- self?.callBack!(self?.originalMSlider.value ?? 0, sender.value)
- }
- }
- return musicSlider
- }()
- override init(frame: CGRect) {
- super.init(frame: frame)
- backgroundColor = UIColor.clear
- addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(hidden(tap:))))
- backView.backgroundColor = .black
- addSubview(backView)
- backView.snp.makeConstraints { make in
- make.right.equalTo(self.snp.right)
- make.bottom.equalTo(self.snp.bottom)
- make.width.equalTo(cScreenWidth)
- make.height.equalTo(220)
- }
- backView.addSubview(originalMSlider)
- backView.addSubview(musicSlider)
- backView.addSubview(originalMLab)
- backView.addSubview(musicLab)
- originalMLab.snp.makeConstraints { make in
- make.left.equalToSuperview().offset(16)
- make.right.equalToSuperview().offset(-16)
- make.top.equalToSuperview().offset(25)
- }
- originalMSlider.snp.makeConstraints { make in
- make.left.equalToSuperview().offset(16)
- make.right.equalToSuperview().offset(-16)
- make.top.equalTo(originalMLab).offset(24)
- }
- musicLab.snp.makeConstraints { make in
- make.left.equalToSuperview().offset(16)
- make.right.equalToSuperview().offset(-16)
- make.top.equalTo(originalMSlider).offset(42)
- }
- musicSlider.snp.makeConstraints { make in
- make.left.equalToSuperview().offset(16)
- make.right.equalToSuperview().offset(-16)
- make.top.equalTo(musicLab).offset(24)
- }
- }
- override func layoutSubviews() {
- super.layoutSubviews()
- backView.addCorner(roundingCorners: [.topLeft, .topRight], corner: 10)
- }
- required init?(coder _: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
- @objc func hidden(tap: UITapGestureRecognizer) {
- if !backView.bounds.contains(tap.location(in: backView)) {
- isHidden = true
- if callBack != nil {
- callBack!(originalMSlider.value, musicSlider.value)
- }
- }
- }
- }
|