| | |
| | | override func viewDidDisappear(_ animated: Bool) { |
| | | super.viewDidDisappear(animated) |
| | | VoicePlayer.share().delegate = nil |
| | | VoicePlayer.share().playerInterrupt() |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | private func getNextAnswer(){ |
| | | isListen = false |
| | | if isAnsterModel.count == 4{ |
| | | print("答题答满了");return |
| | | } |
| | |
| | | viewModel.answerType.accept(.none) |
| | | collectionView.reloadData() |
| | | setUI() |
| | | |
| | | //自动播放下一题语音 |
| | | DispatchQueue.main.asyncAfter(deadline: .now()+2) { |
| | | VoicePlayer.share().playerAt(url: self.randomElement?.correct) |
| | | self.menuView?.playing() |
| | | } |
| | | } |
| | | |
| | | override func setUI() { |
| | |
| | | var answer:Fight_lessonType = .none |
| | | if self?.randomElement?.id == weakSelf.listenNewModel.subjectList[weakSelf.page][index.row].id{ |
| | | answer = .success |
| | | self?.isListen = false |
| | | if self?.isAnsterComplete == false{ |
| | | self?.rootViewModel.correctNum += 1 |
| | | } |
| | | self?.isAnsterComplete = true |
| | | VoicePlayer.share().playerAt(url: weakSelf.listenNewModel.subjectList[weakSelf.page][index.row].correct) |
| | | |
| | | VoicePlayer.share().playSuccessVoice() |
| | | DispatchQueue.main.asyncAfter(deadline: .now()+2) { |
| | | VoicePlayer.share().playerAt(url: weakSelf.listenNewModel.subjectList[weakSelf.page][index.row].correct) |
| | | } |
| | | }else{ |
| | | answer = .fail |
| | | VoicePlayer.share().playFailVoice() |
| | | self?.isListen = false |
| | | if self?.isAnsterComplete == false{ |
| | | self?.rootViewModel.errorNum += 1 |
| | | } |
| | |
| | | weakSelf.viewModel.answerType.accept(.none) |
| | | weakSelf.viewModel.selectIndex.accept(nil) |
| | | weakSelf.rootViewModel.answerItems[weakSelf.page] = weakSelf.listenNewModel.subjectList[weakSelf.page] |
| | | weakSelf.isListen = false |
| | | } |
| | | } |
| | | |