Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class RecordAudioViewController: UIViewController, AVAudioRecorderDelegate, AVAudioPlayerDelegate {
- var nameBaby: String = ""
- var isRecording: Bool = false
- var audioRecorder: AVAudioRecorder!
- var audioPlayer: AVAudioPlayer!
- @IBOutlet weak var btn_recordName: UIButton!
- @IBOutlet weak var lbl_recdString: UILabel!
- @IBOutlet weak var btn_play: UIButton!
- @IBAction func action_btn_recordName(sender: AnyObject) {
- println("in onCLick of action_btn_recordName")
- if isRecording == true {
- isRecording = false
- if audioRecorder?.recording == true {
- audioRecorder?.stop()
- } else {
- audioPlayer?.stop()
- }
- } else {
- isRecording = true
- //Start Recording here
- audioRecorder?.record()
- }
- }
- @IBAction func action_btn_play(sender: AnyObject) {
- if audioRecorder?.recording == false {
- var error: NSError?
- audioPlayer = AVAudioPlayer(contentsOfURL: audioRecorder?.url,
- error: &error)
- audioPlayer?.delegate = self
- if let err = error {
- println("audioPlayer error: \(err.localizedDescription)")
- } else {
- audioPlayer?.play()
- }
- }
- }
- override func viewDidLoad() {
- println("in viewDidLoad of RecordAudioViewController")
- btn_recordName.setTitle("Record", forState: UIControlState.Normal)
- btn_recordName.setTitle("Stop", forState: UIControlState.Highlighted)
- lbl_recdString.text = nameBaby
- prepareForRecording()
- }
- func prepareForRecording() {
- //Trial 2 - for setting up recording audio
- // http://www.techotopia.com/index.php/Recording_Audio_on_iOS_8_with_AVAudioRecorder_in_Swift
- let dirPaths =
- NSSearchPathForDirectoriesInDomains(.DocumentDirectory,
- .UserDomainMask, true)
- let docsDir = dirPaths[0] as! String
- let soundFilePath =
- docsDir.stringByAppendingPathComponent("sound.caf")
- let soundFileURL = NSURL(fileURLWithPath: soundFilePath)
- let recordSettings =
- [AVEncoderAudioQualityKey: AVAudioQuality.Min.rawValue,
- AVEncoderBitRateKey: 16,
- AVNumberOfChannelsKey: 2,
- AVSampleRateKey: 44100.0]
- var error: NSError?
- let audioSession = AVAudioSession.sharedInstance()
- audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord,
- error: &error)
- if let err = error {
- println("audioSession error: \(err.localizedDescription)")
- }
- audioRecorder = AVAudioRecorder(URL: soundFileURL,
- settings: recordSettings as [NSObject : AnyObject], error: &error)
- if let err = error {
- println("audioSession error: \(err.localizedDescription)")
- } else {
- audioRecorder?.prepareToRecord()
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement