Sounds, Images, and Text FA 172 Intro to Mobile App Development
Agenda Sounds – System Sound Services Images – Image View and the UIImage class Text – Files, parsing, Web access
Sounds Reference: – for-iphone-developers-playing-audio- programmatically for-iphone-developers-playing-audio- programmatically Various ways to play sound, depending on format, length, and whether you want sounds played in the background For this class, we will use System Sound Services via the AudioToolbox library
Setting up and playing sounds Set up – Define sound id SystemSoundId _soundId; – Specify sound file NSString *file = [[NSBundle mainBundle] NSURL *url =[NSURL fileURLWithPath:file]; – Associate with sound id AudioServicesCreateSystemSoundID((CFURLRef) url, &_soundId); Play – Play by indicating sound id AudioServicesPlaySystemSound(_soundId);
Sounds class A Sounds class (Sounds.h, Sounds.m) has been provided that enables sound support – You are welcome to look at the implementation but do not need to as long as you understand how to invoke the methods Class methods: – setSound: associate a sound file to an idNum (int) – play: plays the sound by indicating the idNum Make sure to – Include AudioToolbox library in frameworks (Build Phases, Link Binary with Libraries) – Include sound files in “Supporting Files”
Class methods revisited Take note: the methods of the Sounds class are class methods.h file (interface) contains method declarations with the + prefix When using the class, [Sounds ]; – e.g., [Sounds [Sounds play: 3];
Images Image View – Displays an image or animation (described by several images) – Placed within a UI View of a View Controller Associated image can be assigned either – Through the Xcode environment: through attributes inspector – Or programmatically, by setting properties or calling methods on the UIImageView outlet connection
UIImage Set image of image view by assigning a UIImage object to the view’s image property self.imageView.image = [UIImage Make sure all image files needed are included in the “Supporting Files” area (and added to the project’s target
Animation Set up an NSArray of images representing the images describing the animation Set two properties of the view – animationImages: the NSArray – animationDuration: number representing the duration (in seconds) for one animation cycle Call startAnimating method on the view Call stopAnimating method to stop animation
Animation Example NSArray *images = [NSArray arrayWithObjects: [UIImage [UIImage [UIImage nil]; self.iv.animationImages = images; self.iv.animationDuration = 0.5; [self.iv startAnimating];
Exercise Create a single view project with three buttons and one image view – Set the image of the view to some default image Button 1: changes the image to the another image Button 2: plays a sound Button 3: plays a different sound and then runs an animation The project requires 2 sounds and at least 4 images
Text Demonstrated through a sample project Text files: read/write text (NSString*) from/to files Parsing: from NSString to NSArray Reading data from the web To be posted on the website
Summary Sounds in an app can be played through Systems Sound Services using the AudioToolbox library – Other frameworks are available – A Sounds class enabling sound support has been created for this course to simplify use Images and animation supported through – UIImageView class – UIImage class