配置AVAudioPlayer对象
// in the corresponding .h file: |
// @property (nonatomic, retain) AVAudioPlayer *player; |
|
@synthesize player; // the player object |
|
NSString *soundFilePath = |
[[NSBundle mainBundle] pathForResource: @"sound" |
ofType: @"wav"]; |
|
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath]; |
|
AVAudioPlayer *newPlayer = |
[[AVAudioPlayer alloc] initWithContentsOfURL: fileURL |
error: nil]; |
[fileURL release]; |
|
self.player = newPlayer; |
[newPlayer release]; |
|
[player prepareToPlay]; |
[player setDelegate: self];
|
实现AVAudioPlayer类的委托方法
- (void) audioPlayerDidFinishPlaying: (AVAudioPlayer *) player |
successfully: (BOOL) flag { |
if (flag == YES) { |
[self.button setTitle: @"Play" forState: UIControlStateNormal]; |
} |
} |
控制AVAudioPlayer对象
- (IBAction) playOrPause: (id) sender { |
|
// if already playing, then pause |
if (self.player.playing) { |
[self.button setTitle: @"Play" forState: UIControlStateHighlighted]; |
[self.button setTitle: @"Play" forState: UIControlStateNormal]; |
[self.player pause]; |
|
// if stopped or paused, start playing |
} else { |
[self.button setTitle: @"Pause" forState: UIControlStateHighlighted]; |
[self.button setTitle: @"Pause" forState: UIControlStateNormal]; |
[self.player play]; |
} |
} |
设置一个音频播放器的回放音量:
[self.player setVolume: 1.0]; // available range is 0.0 through 1.0