iOS: Как сделать так, чтобы фоновая музыка постоянно воспроизводилась и остановилась во всех XIB, используя всего одну кнопку? - PullRequest
0 голосов
/ 09 декабря 2011

У меня есть приложение для iPad с одной кнопкой фоновой музыки. Фоновая музыка зацикливает все в основном XIB и втором XIB. В принципе, я могу включать и выключать музыку успешно. Моя проблема сейчас в том, что когда я нажимаю 2-ю кнопку viewController, моя фоновая музыка не работает. Я могу включать и выключать музыку, но путаться с фоновой музыкой предыдущего основного контроллера. Как мне этого избежать? Любой код предложения для Xcode4?

Вот мой пример кода в главном контроллере. Я копирую это во 2-й viewController, он испортит фоновую музыку. Любой отличный код предложения?

 - (IBAction)toggleMusic {

        if ([self.player isPlaying] == YES) {
            [self.player stop]; 
        } else {
            [self.player play];
        }
        self.playBgMusic.enabled = YES;

    }

1 Ответ

0 голосов
/ 09 декабря 2011

Я не уверен, правильно ли я вас понял, но почему бы вам не создать одноэлементный объект для управления звуками? Тогда у вас будет ссылка. Это кажется более уместным, поскольку фоновая музыка больше относится к приложению, чем к одному представлению (вы используете его в каждом представлении). Код будет выглядеть так:

 - (IBAction)toggleMusic {

    if ([[[BackgroundMusic sharedMusic] player] isPlaying] == YES) {
        [[[BackgroundMusic sharedMusic] player] stop]; 
    } else {
        [[[BackgroundMusic sharedMusic] player] play];
    }
    self.playBgMusic.enabled = YES;

}
...