проблема с аудиоплеером - PullRequest
       2

проблема с аудиоплеером

0 голосов
/ 06 апреля 2011

У меня проблема с avaudioplayer.У меня есть метод, который воспроизводит музыку:

-(void)playBgMusic {

NSString *path = [[NSBundle mainBundle] pathForResource:@"bgmusic" ofType:@"aif"];
theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate = self;
[theAudio play];    }

Он вызывается в методе viewDidLoad:

- (void)viewDidLoad {
[super viewDidLoad];

[self playBgMusic]; }

Теперь проблема: когда я переключаюсь в другое представление, музыка продолжаетсяно когда я возвращаюсь снова, музыка запускается во второй раз и перекрывается.

как я могу решить эту проблему?

1 Ответ

0 голосов
/ 06 апреля 2011

Зачем начинать музыку в -viewDidLoad?Поместите его в инициализатор вашего контроллера.Если вы просто создаете его в XIB и еще не переопределили инициализатор, внедрите -initWithCoder:, например:

- (id)initWithCoder:(NSCoder *)coder
{
    self = [super initWithCoder:coder];

    if(self)
    {
        [self playBgMusic];
    }

    return self;
}

... или если вы выделяете / инициализируете его вручную,сделать то же самое, но с -init (или любым другим настроенным вами инициализатором).Таким образом, музыкальный проигрыватель запустится только тогда, когда вы впервые создадите контроллер представления, который по звуку этого вы, вероятно, делаете только один раз.

...