         sharedBot.playingTimer = timer
     }
 
-    func reportPlayingProgress(sender: NSTimer) {
+    @objc private func reportPlayingProgress(sender: NSTimer) {
 
         guard let audioPlayer = audioPlayer else {
             return


        print("AudioBot audioPlayerDidFinishPlaying: \(flag)")

        AudioBot.cleanPlaying(finish: true)
        playingFinish?(true)
        playingFinish = nil
    }

    public func audioPlayerDecodeErrorDidOccur(player: AVAudioPlayer, error: NSError?) {

        print("AudioBot audioPlayerDecodeErrorDidOccur: \(error)")

        AudioBot.cleanPlaying(finish: true)
        playingFinish?(false)
        playingFinish = nil
    }
}



        stopRecord { _, _, _ in }

        if AVAudioSession.sharedInstance().category != AVAudioSessionCategoryPlayback {
            do {
                try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
                try AVAudioSession.sharedInstance().setActive(true)
            } catch let error {
                throw error
            }
