Я не уверен, что это вызовет поведение, которое вы видите, но вы определенно пропускаете AVAudioPlayer при каждом нажатии кнопки.Кроме того, я бы просто загрузить его один раз (скажем, в viewDidLoad
), а не при каждом нажатии кнопки.Возможно что-то вроде:
@interface MainView : UIView
{
AVAudioPlayer* audioPlayer;
}
- (IBAction)pushButton2:(id)sender;
@end
@implementation MainView
- (void) viewDidLoad
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"sound1" ofType:@"mp3"];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
audioPlayer.delegate = self;
}
- (void) viewDidUnload
{
[audioPlayer release], audioPlayer = nil;
}
- (IBAction)pushButton2:(id)sender
{
[audioPlayer play];
}
@end