IvanRublev / AKSystemSound

Simplifies playing caf audio files using AudioServicesPlaySystemSound.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AKSystemSound

Simplifies playing caf audio files using AudioServicesPlaySystemSound. Audio files can also be scheduled to be played with a specified interval.

Features of this fork

The main feature is that the project is translated to ARC.

Methods are added

  • Returns YES if any sound that was passed to this class is playing now.
[AKSystemSound isAnySoundPlaying];
  • Stop playing on deallocation of corresponding object (unscheduled if was):
[AKSystemSound freeSoundWithName:@"ping"];

Usage

AKSystemSound uses the AudioServices API to play short alert sounds. These audio files have to be in the CAF-format.

  • convert files to CAF using afconvert
afconvert -f caff -d LEI16 [input] out.caf
  • play once
[[AKSystemSound soundWithName:@"ping"] play];
  • schedule repeated playback
soundID = [[AKSystemSound soundWithName:@"ping"] scheduleRepeatWithInterval:5];
  • schedule playback in delta time
soundID = [[AKSystemSound soundWithName:@"ping"] schedulePlayInInterval:5];
  • schedule playback at specified date
soundID = [[AKSystemSound soundWithName:@"ping"] schedulePlayAtDate:date];
  • unschedule
[AKSystemSound unscheduleSoundID:soundID];
soundID = AKSystemSoundInvalidID;

Notifications

  • AKSystemSoundsWillPlay-/AKSystemSoundsDidPlayNotification Sent before and after a set of sounds are played. Good to have if you have any other audio playback (AudioQueue etc) and need to temporarily lower the output volume from that.

  • AKSystemSoundWillPlay-/AKSystemSoundDidPlayNotification Sent before and after each sound is played.

Licence

Public domain, free use. Created by Anton Kiland 2011 anton@kiland.se

About

Simplifies playing caf audio files using AudioServicesPlaySystemSound.


Languages

Language:Objective-C 100.0%