繁体   English   中英

iOS:如何仅通过按一下按钮来确保背景音乐在所有XIB中始终能播放和停止?

[英]iOS : How to make sure background music consistantly play & stop in all XIB by using only one press button?

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

    }

我不确定我是否理解正确,但是为什么不创建用于管理声音的单例对象呢? 然后,您将获得参考。 似乎背景音乐更适合应用程序而不是单个视图(您在每个视图中都使用它)。 然后,代码将如下所示:

 - (IBAction)toggleMusic {

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

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM