iPhone новичок здесь, я создаю простое музыкальное приложение для iPhone под названием Piano Master, которое производит звук при нажатии кнопки.
Вот мой код:
MusicViewController.h
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
#import "PianoMasterAppDelegate.h"
@interface MusicViewController : UIViewController
<AVAudioPlayerDelegate> {}
- (IBAction)buttonClick:(id)sender;
@end
MusicViewController.m
#import "MusicViewController.h"
@implementation MusicViewController
- (IBAction)buttonClick:(id)sender
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"Piano1" ofType:@"wav"];
AVAudioPlayer *theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path error:NULL];
theAudio.delegate = self;
[theAudio play];
}
Звук воспроизводится при нажатии кнопки, но каждый раз, когда нажимается кнопка, создается новый AVAudioPlayer. Каковы ваши лучшие идеи о том, как эффективно справиться с этой проблемой памяти? Я думал о создании экземпляра AVAudioPlayer для MusicViewController и использовании этого, но все равно будет проблема с памятью, если я буду продолжать выделять новый AVAudioPlayer каждый раз ...
Любая помощь полезна, спасибо.