//
|
// StudyHandleView.swift
|
// DolphinEnglishLearnStudent
|
//
|
// Created by 无故事王国 on 2024/5/23.
|
//
|
|
import UIKit
|
import JQTools
|
import AVFoundation
|
|
class StudyHandleView: UIView,JQNibView{
|
@IBOutlet weak var btn_choose: UIButton!
|
@IBOutlet weak var view_choose: UIView!
|
@IBOutlet weak var btn_state: UIButton!
|
@IBOutlet weak var btn_voice: UIButton!
|
@IBOutlet weak var btn_pay: UIButton!
|
|
var listenType:ListenType?
|
private var clouse:((UIButton)->Void)?
|
private var playComplete:(()->Void)?
|
private var playAtClouse:((Int)->Void)?
|
|
var voicePlayer = VoicePlayer.share()
|
var vioceSoundUrl:String?
|
|
override func awakeFromNib() {
|
super.awakeFromNib()
|
btn_state.alpha = 0
|
view_choose.alpha = 0
|
|
// voicePlayer.playEnd {[weak self] in
|
// guard let weakSelf = self else { return }
|
// weakSelf.resetView()
|
// }
|
}
|
|
func chooseClouse(callback:@escaping (UIButton)->Void){
|
clouse = callback
|
}
|
|
func playAt(_ clouse:@escaping(Int)->Void){
|
self.playAtClouse = clouse
|
}
|
|
func copyView()->StudyHandleView{
|
let copyV = StudyHandleView.jq_loadNibView()
|
copyV.bounds = self.bounds
|
copyV.tag = self.tag
|
copyV.vioceSoundUrl = self.vioceSoundUrl
|
return copyV
|
}
|
|
func resetView(){
|
switch listenType {
|
case .lesson1,.lesson5:
|
UIView.animate(withDuration: 0.25) {
|
self.btn_state.setImage(UIImage(named: "icon_play"), for: .normal)
|
self.btn_voice.alpha = 1
|
self.btn_pay.alpha = 1
|
self.btn_state.alpha = 0
|
}
|
case .lesson2:
|
UIView.animate(withDuration: 0.25) {
|
self.btn_state.setImage(UIImage(named: "icon_play"), for: .normal)
|
self.btn_voice.alpha = 1
|
self.btn_pay.alpha = 1
|
self.btn_state.alpha = 0
|
self.view_choose.alpha = 1
|
}
|
default:break
|
}
|
}
|
|
@IBAction func payAction(_ sender: UIButton) {
|
guard let v = vioceSoundUrl else {return}
|
voicePlayer.playerAt(url: v)
|
playAtClouse?(self.tag)
|
switch listenType {
|
case .lesson1,.lesson5:
|
UIView.animate(withDuration: 0.25) {
|
self.btn_state.setImage(UIImage(named: "icon_playing"), for: .normal)
|
self.btn_voice.alpha = 0
|
self.btn_pay.alpha = 0
|
self.btn_state.alpha = 1
|
}
|
break
|
case .lesson2:
|
UIView.animate(withDuration: 0.25) {
|
self.btn_state.setImage(UIImage(named: "icon_playing"), for: .normal)
|
self.btn_voice.alpha = 0
|
self.btn_pay.alpha = 0
|
self.btn_state.alpha = 1
|
self.view_choose.alpha = 1
|
}
|
|
default:break
|
}
|
}
|
|
@IBAction func chooseAction(_ sender: UIButton) {
|
sender.isSelected = !sender.isSelected
|
clouse?(sender)
|
}
|
}
|