                 self?.waverView.removeFromSuperview()
             }
 
-            messageToolbar.voiceRecordBeginAction = { [weak self] messageToolbar in
+            let stopRecordAndSendAudio: () -> Void = {
+
+                AudioBot.stopRecord { [weak self] fileURL, duration, decibelSamples in
+
+                    guard duration > YepConfig.AudioRecord.shortestDuration else {
+                        return
+                    }
+
+                    self?.sendAudioWithURL(fileURL, compressedDecibelSamples: AudioBot.compressDecibelSamples(decibelSamples, withSamplingInterval: 6, minNumberOfDecibelSamples: 20, maxNumberOfDecibelSamples: 60))
+                }
+            }
+
+            messageToolbar.voiceRecordBeginAction = { [weak self] _ in
 
                 proposeToAccess(.Microphone, agreed: { [weak self] in
 

                self?.trySendInstantMessageWithType(.Audio)
            }

            messageToolbar.voiceRecordEndAction = { [weak self] messageToolbar in

                hideWaver()

                AudioBot.stopRecord { [weak self] fileURL, duration, decibelSamples in

                    guard duration > YepConfig.AudioRecord.shortestDuration else {
                        return
                    }

                    self?.sendAudioWithURL(fileURL, compressedDecibelSamples: AudioBot.compressDecibelSamples(decibelSamples, withSamplingInterval: 6, minNumberOfDecibelSamples: 20, maxNumberOfDecibelSamples: 60))
                }
            }

            messageToolbar.voiceRecordCancelAction = { messageToolbar in

                hideWaver()

                AudioBot.stopRecord { _, _, _ in
                    println("voiceRecordCancelAction")
                }

                /*
                YepAudioService.sharedManager.endRecord()

                YepAudioService.sharedManager.recordTimeoutAction = nil
                 */
            }

            messageToolbar.voiceRecordingUpdateUIAction = { [weak self] topOffset in

                            if duration > YepConfig.AudioRecord.longestDuration {
                                hideWaver()

                                stopRecordAndSendAudio()
                            }
                        }
                        
