|  | @@ -29,6 +29,12 @@ class BFMusicSearchController: BFBaseViewController {
 | 
	
		
			
				|  |  |      
 | 
	
		
			
				|  |  |      var currPage = 1
 | 
	
		
			
				|  |  |      
 | 
	
		
			
				|  |  | +    var musicVolume = 0.0 {
 | 
	
		
			
				|  |  | +        didSet{
 | 
	
		
			
				|  |  | +            slidV.value = Float(musicVolume)
 | 
	
		
			
				|  |  | +            uiForChangeVolume()
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |      var keywork : String?
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // 试听音乐
 | 
	
	
		
			
				|  | @@ -62,6 +68,21 @@ class BFMusicSearchController: BFBaseViewController {
 | 
	
		
			
				|  |  |          return searchTF
 | 
	
		
			
				|  |  |      }()
 | 
	
		
			
				|  |  |      
 | 
	
		
			
				|  |  | +    lazy var progressL : UILabel = {
 | 
	
		
			
				|  |  | +        let l = UILabel()
 | 
	
		
			
				|  |  | +        l.textColor = UIColor.hexColor(hexadecimal: "#9d9d9d")
 | 
	
		
			
				|  |  | +        l.font = UIFont.systemFont(ofSize: 13, weight: .regular)
 | 
	
		
			
				|  |  | +        l.textAlignment = .center
 | 
	
		
			
				|  |  | +        l.text = "0%"
 | 
	
		
			
				|  |  | +        return l
 | 
	
		
			
				|  |  | +    }()
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    lazy var slidV : UISlider = {
 | 
	
		
			
				|  |  | +        let v = UISlider()
 | 
	
		
			
				|  |  | +        v.addTarget(self, action: #selector(valuChange(slid:)), for: .valueChanged)
 | 
	
		
			
				|  |  | +        return v
 | 
	
		
			
				|  |  | +    }()
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  |      lazy var musicTb : UITableView = {
 | 
	
		
			
				|  |  |          let tb = UITableView(frame: .zero)
 | 
	
		
			
				|  |  |          tb.delegate = self
 | 
	
	
		
			
				|  | @@ -99,10 +120,28 @@ class BFMusicSearchController: BFBaseViewController {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          view.addSubview(musicTb)
 | 
	
		
			
				|  |  |          musicTb.snp.makeConstraints { make in
 | 
	
		
			
				|  |  | -            make.left.right.bottom.equalToSuperview()
 | 
	
		
			
				|  |  | +            make.left.right.equalToSuperview()
 | 
	
		
			
				|  |  |              make.top.equalTo(searchTF.snp.bottom).offset(4)
 | 
	
		
			
				|  |  | +            make.bottom.equalTo(-100)
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        let soundIV = UIImageView(image: imageInRecordScreenKit(by: "soundBtn"))
 | 
	
		
			
				|  |  | +        soundIV.contentMode = .scaleAspectFit
 | 
	
		
			
				|  |  | +        view.addSubview(soundIV)
 | 
	
		
			
				|  |  | +        soundIV.snp.makeConstraints { make in
 | 
	
		
			
				|  |  | +            make.left.equalTo(18)
 | 
	
		
			
				|  |  | +            make.top.equalTo(musicTb.snp.bottom).offset(36)
 | 
	
		
			
				|  |  | +            make.width.height.equalTo(28)
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          
 | 
	
		
			
				|  |  | +        view.addSubview(slidV)
 | 
	
		
			
				|  |  | +        slidV.frame = CGRect(x: 56, y: cScreenHeigth - 59, width: cScreenWidth - 56 - 18, height: 18)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        progressL.frame = CGRect(x: slidV.x - 7, y: slidV.y - 24, width: 36, height: 16)
 | 
	
		
			
				|  |  | +        view.addSubview(progressL)
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        musicVolume = 0.2
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |          loadedTimeRangesObserver = player.observe(\AVPlayer.currentItem?.loadedTimeRanges, options: [.new, .initial]) { [weak self] (player, change) in
 | 
	
		
			
				|  |  |              
 | 
	
		
			
				|  |  |              DispatchQueue.main.async {[weak self] in
 | 
	
	
		
			
				|  | @@ -133,6 +172,23 @@ class BFMusicSearchController: BFBaseViewController {
 | 
	
		
			
				|  |  |      @objc func closeAction(){
 | 
	
		
			
				|  |  |          self.dismiss(animated: true, completion: nil)
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    @objc func valuChange(slid:UISlider) {
 | 
	
		
			
				|  |  | +        musicVolume = Double(slid.value)
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    func uiForChangeVolume() {
 | 
	
		
			
				|  |  | +        let num = (Int)(musicVolume * 100)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        progressL.text = String(format: "%d%%", num)
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        var frame = progressL.frame
 | 
	
		
			
				|  |  | +        frame.origin.x = slidV.x - 7 + ((slidV.width - 28) / 100.0) * CGFloat(num)
 | 
	
		
			
				|  |  | +        progressL.frame = frame
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        player.volume = Float(musicVolume)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  extension BFMusicSearchController : UITableViewDelegate, UITableViewDataSource {
 | 
	
	
		
			
				|  | @@ -150,6 +206,7 @@ extension BFMusicSearchController : UITableViewDelegate, UITableViewDataSource {
 | 
	
		
			
				|  |  |                  guard let wself = self else { return }
 | 
	
		
			
				|  |  |                  wself.player.pause()
 | 
	
		
			
				|  |  |                  cell?.status = .pause
 | 
	
		
			
				|  |  | +                cell?.data?.volume = (Int)(wself.slidV.value * 100.0)
 | 
	
		
			
				|  |  |                  wself.choseAction?(cell?.data)
 | 
	
		
			
				|  |  |                  wself.dismiss(animated: true, completion: nil)
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -157,7 +214,8 @@ extension BFMusicSearchController : UITableViewDelegate, UITableViewDataSource {
 | 
	
		
			
				|  |  |                  guard let wself = self else { return }
 | 
	
		
			
				|  |  |                  wself.player.pause()
 | 
	
		
			
				|  |  |                  cell?.status = .pause
 | 
	
		
			
				|  |  | -                
 | 
	
		
			
				|  |  | +                cell?.data?.volume = (Int)(wself.slidV.value * 100.0)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                  if let data = cell?.data {
 | 
	
		
			
				|  |  |                      wself.dismiss(animated: true) {[weak self] in
 | 
	
		
			
				|  |  |                          guard let wself = self else { return }
 |