sounds, images, and text fa 172 intro to mobile app development

13
Sounds, Images, and Text FA 172 Intro to Mobile App Development

Upload: chastity-underwood

Post on 05-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sounds, Images, and Text FA 172 Intro to Mobile App Development

Sounds, Images, and Text

FA 172Intro to Mobile App Development

Page 2: 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

Page 3: Sounds, Images, and Text FA 172 Intro to Mobile App Development

Sounds

• Reference:– http://www.raywenderlich.com/259/audio-101-fo

r-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

Page 4: Sounds, Images, and Text FA 172 Intro to Mobile App Development

Setting up and playing sounds

• Set up– Define sound id

• SystemSoundId _soundId;

– Specify sound file• NSString *file = [[NSBundle mainBundle] pathForResource:

@"soundfile" ofType:@"wav"];• NSURL *url =[NSURL fileURLWithPath:file];

– Associate with sound id• AudioServicesCreateSystemSoundID((CFURLRef) url, &_soundId);

• Play– Play by indicating sound id

• AudioServicesPlaySystemSound(_soundId);

Page 5: Sounds, Images, and Text FA 172 Intro to Mobile App Development

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”

Page 6: Sounds, Images, and Text FA 172 Intro to Mobile App Development

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 <method>];– e.g.,

[Sounds setSound: 3: @"file”: @"wav"]; [Sounds play: 3];

Page 7: Sounds, Images, and Text FA 172 Intro to Mobile App Development

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

Page 8: Sounds, Images, and Text FA 172 Intro to Mobile App Development

UIImage

• Set image of image view by assigning a UIImage object to the view’s image propertyself.imageView.image =

[UIImage imageNamed:@"x.jpg"];

• Make sure all image files needed are included in the “Supporting Files” area (and added to the project’s target

Page 9: Sounds, Images, and Text FA 172 Intro to Mobile App Development

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

Page 10: Sounds, Images, and Text FA 172 Intro to Mobile App Development

Animation Example

NSArray *images = [NSArray arrayWithObjects: [UIImage imageNamed:@"x.jpeg"], [UIImage imageNamed:@"y.jpeg"], [UIImage imageNamed:@"z.jpeg"], nil]; self.iv.animationImages = images; self.iv.animationDuration = 0.5; [self.iv startAnimating];

Page 11: Sounds, Images, and Text FA 172 Intro to Mobile App Development

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

Page 12: Sounds, Images, and Text FA 172 Intro to Mobile App Development

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

Page 13: Sounds, Images, and Text FA 172 Intro to Mobile App Development

Summary

• Sounds in an app can be played throughSystems 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