|  | @@ -1379,8 +1379,6 @@ public class BFRecordScreenController: BFBaseViewController {
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  recordPlayer = AVPlayer(playerItem: newItem)
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            recordPlayer!.volume = 1
 | 
	
		
			
				|  |  | -            //                self.recordPlayer?.prepareToPlay()
 | 
	
		
			
				|  |  |              currentPlayRecordIndex = -1
 | 
	
		
			
				|  |  |              hadPrepareToPlayRecord = false
 | 
	
		
			
				|  |  |              BFLog(1, message: "录音播放器初始化(有时候不准)")
 | 
	
	
		
			
				|  | @@ -1388,9 +1386,8 @@ public class BFRecordScreenController: BFBaseViewController {
 | 
	
		
			
				|  |  |              NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: newItem, queue: .main) { [weak self, weak recordedAudio] _ in
 | 
	
		
			
				|  |  |                  self?.hadPrepareToPlayRecord = false
 | 
	
		
			
				|  |  |                  self?.currentPlayRecordIndex = -1
 | 
	
		
			
				|  |  | +                self?.recordPlayer?.volume = 0
 | 
	
		
			
				|  |  |                  self?.assetPlayer?.volume = self?.noSpeakVolume ?? 0
 | 
	
		
			
				|  |  | -                //                self?.deleteRecordBtn.isHidden = true
 | 
	
		
			
				|  |  | -                //                self?.recordBtn.isHidden = false
 | 
	
		
			
				|  |  |                  didPlayToEndTime((shouldPlayRecordIndex, recordedAudio) as? (Int, PQVoiceModel), newItem)
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              avplayerTimeObserver?.invalidate()
 | 
	
	
		
			
				|  | @@ -1441,14 +1438,12 @@ public class BFRecordScreenController: BFBaseViewController {
 | 
	
		
			
				|  |  |                  // 两个逻辑:如果在播,则跳过;如果暂停拖动到中间,则seek
 | 
	
		
			
				|  |  |                  if currentPlayRecordIndex == -1, sself.isNormalPlaying {
 | 
	
		
			
				|  |  |                      let second = CMTimeGetSeconds(currentT) - recordedAudio.startCMTime.seconds
 | 
	
		
			
				|  |  | -                    sself.assetPlayer?.volume = sself.haveSpeakVolume
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |                      DispatchQueue.main.async { [weak sself] in
 | 
	
		
			
				|  |  |                          self?.recordPlayer?.seek(to: CMTime(value: CMTimeValue(second * 1_000_000), timescale: 1_000_000), toleranceBefore: CMTime(value: 1, timescale: 1_000_000), toleranceAfter: CMTime(value: 1, timescale: 1_000_000), completionHandler: { [weak self] finished in
 | 
	
		
			
				|  |  |                              if finished, self?.isNormalPlaying ?? false {
 | 
	
		
			
				|  |  |                                  self?.recordPlayer?.play()
 | 
	
		
			
				|  |  | -                                //                                self?.deleteRecordBtn.isHidden = false
 | 
	
		
			
				|  |  | -                                //                                self?.recordBtn.isHidden = true
 | 
	
		
			
				|  |  | +                                self?.recordPlayer?.volume = 1
 | 
	
		
			
				|  |  | +                                self?.assetPlayer?.volume = self?.haveSpeakVolume ?? 0
 | 
	
		
			
				|  |  |                                  BFLog(1, message: "录音开始播放 playing, \(second), \(CMTimeGetSeconds(self?.recordPlayer?.currentItem?.duration ?? .zero)), \(self?.recordPlayer?.currentItem?.currentTime().seconds ?? 0)")
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  |                          })
 | 
	
	
		
			
				|  | @@ -1481,14 +1476,12 @@ public class BFRecordScreenController: BFBaseViewController {
 | 
	
		
			
				|  |  |                  // 两个逻辑:如果在播,则跳过;如果暂停拖动到中间,则seek
 | 
	
		
			
				|  |  |                  if sself.isNormalPlaying {
 | 
	
		
			
				|  |  |                      let second = CMTimeGetSeconds(currentT) - recordedAudio.startCMTime.seconds
 | 
	
		
			
				|  |  | -                    sself.assetPlayer?.volume = sself.haveSpeakVolume
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |                      DispatchQueue.main.async { [weak sself] in
 | 
	
		
			
				|  |  |                          self?.recordPlayer?.seek(to: CMTime(value: CMTimeValue(second * 1_000_000), timescale: 1_000_000), toleranceBefore: CMTime(value: 1, timescale: 1_000_000), toleranceAfter: CMTime(value: 1, timescale: 1_000_000), completionHandler: { [weak self] finished in
 | 
	
		
			
				|  |  |                              if finished, self?.isNormalPlaying ?? false {
 | 
	
		
			
				|  |  |                                  self?.recordPlayer?.play()
 | 
	
		
			
				|  |  | -                                //                                self?.deleteRecordBtn.isHidden = false
 | 
	
		
			
				|  |  | -                                //                                self?.recordBtn.isHidden = true
 | 
	
		
			
				|  |  | +                                self?.recordPlayer?.volume = 1
 | 
	
		
			
				|  |  | +                                self?.assetPlayer?.volume = self?.haveSpeakVolume ?? 0
 | 
	
		
			
				|  |  |                                  BFLog(1, message: "录音开始播放 playing, \(second), \(CMTimeGetSeconds(self?.recordPlayer?.currentItem?.duration ?? .zero)), \(self?.recordPlayer?.currentItem?.currentTime().seconds ?? 0)")
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  |                          })
 |