| | |
| | | private var playVoiceRealAt:Int? //播放声音的View -被乱序后,真实Index |
| | | var rootViewModel:HomeListenFightViewModel! |
| | | private var voicePlayer = VoicePlayer.share() |
| | | private var isListen:Bool = false |
| | | |
| | | private lazy var collectionView:UICollectionView = { |
| | | let flowLayout = UICollectionViewFlowLayout() |
| | |
| | | override func viewDidDisappear(_ animated: Bool) { |
| | | super.viewDidDisappear(animated) |
| | | voicePlayer.delegate = nil |
| | | VoicePlayer.share().playerInterrupt() |
| | | } |
| | | |
| | | override func setUI() { |
| | |
| | | extension HomeListenFight_lesson_5_VC:UICollectionViewDelegate{ |
| | | func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { |
| | | |
| | | if playVoiceAt == nil{ |
| | | if isListen == false{ |
| | | alertError(msg: "请先听题");return |
| | | } |
| | | isListen = false |
| | | |
| | | viewModel.selectIndex.accept(indexPath) |
| | | |
| | |
| | | let selectAnswer = listenNewModel.subjectList[page][indexPath.row] |
| | | |
| | | var answerType:Fight_lessonType = .none |
| | | |
| | | if answer.id == selectAnswer.id{ |
| | | answerType = .success |
| | | voicePlayer.playSuccessVoice() |
| | | }else{ |
| | | answerType = .fail |
| | | voicePlayer.playFailVoice() |
| | | } |
| | | |
| | | let tempSubV = stackView.arrangedSubviews[self.playVoiceRealAt!] as! VoiceHandleView |
| | |
| | | |
| | | extension HomeListenFight_lesson_5_VC:VoicePlayerDelegate{ |
| | | func playComplete() { |
| | | isListen = true |
| | | for subV in stackView.arrangedSubviews as! [VoiceHandleView]{ |
| | | subV.resetView() |
| | | } |