https://github.com/manish-1988/mpaudiorecorder
This is a library with which you can perform an *Audio Recording* into your application, it is fully customizable, you can pass Audio settings in it. Spliting | Merging and overlap audio is coming soon features.
https://github.com/manish-1988/mpaudiorecorder
audio-recorder audio-recording avfoundation ios recorder swift-language
Last synced: about 1 month ago
JSON representation
This is a library with which you can perform an *Audio Recording* into your application, it is fully customizable, you can pass Audio settings in it. Spliting | Merging and overlap audio is coming soon features.
- Host: GitHub
- URL: https://github.com/manish-1988/mpaudiorecorder
- Owner: manish-1988
- License: mit
- Created: 2017-06-28T13:35:54.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-01-24T10:37:26.000Z (over 3 years ago)
- Last Synced: 2024-03-23T11:58:02.313Z (about 1 year ago)
- Topics: audio-recorder, audio-recording, avfoundation, ios, recorder, swift-language
- Language: Swift
- Homepage: https://in.linkedin.com/in/manish1988
- Size: 983 KB
- Stars: 12
- Watchers: 5
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
> # MPAudioRecorder
This is a library with which you can perform an *Audio Recording* into your application, it is fully customizable, you can pass Audio settings in it.# Installation
You can install this library using cocoapods or manually.1. > Cocoapods (If required or if there is any error on pod installation, first try to do pod setup or pod repo update)
- pod 'MPAudioRecorder'
- pod 'MPAudioRecorder', '~> 0.1' (For a stable swift 3.0 version)
2. > Manually
- Copy the folder from the example included in the repository.
# Usage
0. NSMicrophoneUsageDescription : (It is mandatory from apple to add microphone usage description in your pList, else
your application will crash)Key : Privacy - Microphone Usage Description
Value : $(PRODUCT_NAME) microphone use
1. Create an instance of MPAudioRecorder like this
/// MPAudioRecorder, assigning delegate is mandatory.
let mpRecorder: MPAudioRecorder = MPAudioRecorder()
2. In view did load assign the delegate, so that all relevant delegate methods can be invoked```
override func viewDidLoad()
{
super.viewDidLoad()
mpRecorder.delegateMPAR = self // Imp
}
```
If required do import AVFoundation in your view controller.
3. To start the recording you can use a function and call it through the MPAudioRecorder instance you have created like this:-mpRecorder.startAudioRecording()
4. To stop the recording you can use a function and call it through the MPAudioRecorder instance you have created like this:-
mpRecorder.stopAudioRecording()
5. ### Delegates
You can implement all the delegates as per requirement with few mandatory delegate implementation.A. AudioRecorderDidFinishRecording:successfully: is called when a recording has been finished or stopped.
This method is NOT called if the recorder is stopped due to an interruption.
func audioRecorderDidFinishRecording(_ recorder: AVAudioRecorder, successfully flag: Bool)
B. If an error occurs while encoding it will be reported to the delegate
func audioRecorderEncodeErrorDidOccur(_ recorder: AVAudioRecorder, error: Error?)
C. AVAudioRecorder INTERRUPTION NOTIFICATIONS ARE DEPRECATED - Use AVAudioSession instead. */
audioRecorderBeginInterruption: is called when the audio session has been interrupted while the recorder was
recording. The recorded file will be closed.
func audioRecorderBeginInterruption(_ recorder: AVAudioRecorder)
D. AudioRecorderEndInterruption:withOptions: is called when the audio session interruption has ended and this
recorder had been interrupted while recording.
Currently the only flag is AVAudioSessionInterruptionFlags_ShouldResume.
func audioRecorderEndInterruption(_ recorder: AVAudioRecorder, withOptions flags: Int)
6. Other properties which user can use./// Settings, audio settings for a recorded audio.
public var audioSettings : [String : Int]?
/// File name, Name of the audio file with which user wants to save it.
public var audioFileName: String?
/// Custom url if any user wants to save the recorded Audio file at specific location.
public var customPath: String?
/// If the user wants the recorded audio filed to be saved to the iPhone's library # Coming soon.
public var shouldSaveToLibrary: Bool = false
/// If user want delegates methods to be implemented in their class.
public var delegateMPAR: MPAudioRecorderDelegate?
> # Coming soon...
1. ### Split audio files
2. ### Merge Audio files
3. ### Overlap Audio files# Gif of sample

If you have any suggestions or see a scope of improvement please suggest as it is my first cocoapods library.Thanks