0

我有一个带有一个背景音乐按钮的 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;

    }
4

1 回答 1

0

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

 - (IBAction)toggleMusic {

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

}
于 2011-12-09T15:21:11.917 回答