iOS:如何确保背景音乐不断播放;只使用一个按钮停止所有XIB?

时间:2011-12-09 15:12:13

标签: objective-c ios avaudioplayer background-music

我有一个带有一个背景音乐按钮的iPad应用程序。背景音乐在主XIB&中循环播放。第二届XIB。基本上,我可以和&音乐成功了。我现在的问题是当我按下第二个viewController按钮时,我的背景音乐很乱。我可以&关闭音乐,但搞砸了以前的主控制器的背景音乐。我该如何避免? Xcode4的任何建议代码?

这是mainController中的示例代码。我在第二个viewController中复制它,它会搞乱背景音乐。有什么好的建议代码吗?

 - (IBAction)toggleMusic {

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

    }

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解正确,但为什么不创建用于管理声音的单例对象?那你就有了参考。它似乎更为开放,因为背景音乐更多地属于应用程序而不是单一视图(您在每个视图中使用它)。代码将如下所示:

 - (IBAction)toggleMusic {

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

}