AudioLibrary 1.0

AudioLibrary 1.0

Maintained by waitWalker.




AudioLibrary

CI Status Version License Platform

Requirements

Installation

AudioLibrary is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'AudioLibrary'

Basic Examples

import UIKit
import AudioLibrary

class ViewController: UIViewController {
    @IBOutlet weak var voiceImageView: UIImageView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        /// setup delegate first
        ETTAudioManager.sharedInstance.delegate = self
    }
    
    
    
    /// start recording
    /// - Parameter sender:
    @IBAction func startRecording(_ sender: UIButton) {
        ETTAudioManager.sharedInstance.startRecording(filePath: nil)
        
    }
    
    /// stop recording
    /// - Parameter sender:
    @IBAction func stopRecording(_ sender: UIButton) {
        ETTAudioManager.sharedInstance.stopRecording()
        print("录音录制时长:\(ETTAudioManager.sharedInstance.recordingDuration)")
    }
    
    
    /// start playing
    /// - Parameter sender:
    @IBAction func startPlaying(_ sender: UIButton) {
        ETTAudioManager.sharedInstance.startPlayingAudio(localPath: ETTAudioManager.sharedInstance.recordFilePath!)
        print("录音播放时长:\(ETTAudioManager.sharedInstance.playingDuration)")
    }
    
    /// pause playing
    /// - Parameter sender:
    @IBAction func pausePlaying(_ sender: UIButton) {
        ETTAudioManager.sharedInstance.pausePlayingAudio()
        print("录音播放时长:\(ETTAudioManager.sharedInstance.playingDuration)")
    }
    
    /// stop playing
    /// - Parameter sender:
    @IBAction func stopPlaying(_ sender: UIButton) {
        ETTAudioManager.sharedInstance.stopPlayingAudio()
    }
}

/// ETTAudioManagerDelegate call back
extension ViewController: ETTAudioManagerDelegate {
    
    func audioMeterDidUpdate(_ audioDB: Float) {
        let currentAudioDB = Int((Int(audioDB) + 50) * 3 / 2)
        print("current audio db:\(currentAudioDB)")
        if currentAudioDB < 10 {
            self.voiceImageView.image = UIImage(named: "recording_ volume_0")
        } else if currentAudioDB >= 10 && currentAudioDB < 20 {
            self.voiceImageView.image = UIImage(named: "recording_ volume_1")
        } else if currentAudioDB >= 20 && currentAudioDB < 30 {
            self.voiceImageView.image = UIImage(named: "recording_ volume_2")
        } else if currentAudioDB >= 30 && currentAudioDB < 40 {
            self.voiceImageView.image = UIImage(named: "recording_ volume_3")
        } else {
            self.voiceImageView.image = UIImage(named: "recording_ volume_4")
        }
    }
    
    func audioRecordDidFinish(_ finishFlag: Bool) {
        print("finish flag:\(finishFlag)")
    }
    
    
    func audioDidError(_ errorType: ErrorType) {
        print("errorType:\(errorType)")
    }
    
    func audioPlayDidStop(_ finishType: PlayingState) {
        print("stop type:\(finishType)")
    }
}



Author

waitwalker, [email protected]

License

AudioLibrary is available under the MIT license. See the LICENSE file for more info.