The easiest way to prepare, play, and remove sounds in your Swift app!
Switch branches/tags
Nothing to show
Clone or download
Latest commit 3e01d05 Jul 21, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Example Many updates to Chirp Jul 21, 2017
Pod Many updates to Chirp Jul 21, 2017
.gitignore Adding Cocoapod support Jan 2, 2016
.travis.yml Adding Cocoapod support Jan 2, 2016
Chirp.podspec updated pod spec Jan 3, 2016
LICENSE Adding Cocoapod support Jan 2, 2016
README.md Correct the spelling of CocoaPods in README Feb 11, 2016
_Pods.xcodeproj Adding Cocoapod support Jan 2, 2016

README.md

Chirp

The easiest way to prepare, play, and remove sounds in your Swift app!

##Installation ###CocoaPods Installation Chirp is available on CocoaPods. Just add the following to your project Podfile:

pod 'Chirp', '~> 1.1'

###Non-CocoaPods Installation You can drop Chirp.swift directly into your project, or drag the Chirp project into your workspace.

Sample code

prepareSound is used to preload a sound into memory. This increases the retain count of the sound by 1. You must call this method before calling playSound

/* MyViewController.swift */

override func viewDidLoad() {
    super.viewDidLoad()
    
    // Load sounds into memory
    Chirp.sharedManager.prepareSound("boop") // default extension is .wav
    Chirp.sharedManager.prepareSound("ding.mp3") // so other extensions you must name explicitly
}

playSound plays the preloaded sound

func submitButtonTouched(button: UIButton) {
    // Since the sound is already loaded into memory, this will play immediately
    Chirp.sharedManager.playSound("boop") 
    
    // example function that might get called when you touch a button
    submitForm() 
}

removeSound removes the sound from memory

deinit {
    // Cleanup is really simple!
    Chirp.sharedManager.removeSound("boop")
    Chirp.sharedManager.removeSound("ding.mp3")
    Chirp.sharedManager.removeSound("oops.mp3")
    
    // If you never loaded the sounds, e.g. viewDidLoad wasn't called, or submission never failed or succeeded,
    // that's ok, because these will function as no-ops
}

Enjoy! I know sound management can be a little annoying. Hopefully this helps your project out a little bit.