0

バックグラウンドミュージックボタンが1つあるiPadアプリがあります。BGM は、メイン XIB と 2 番目の XIB ですべてループしています。基本的に、音楽のオンオフは問題なくできています。私の問題は、2番目のviewControllerボタンを押すと、バックグラウンドミュージックがめちゃくちゃになることです。音楽のオン/オフはできますが、前のメイン コントローラーの BGM を台無しにします。どうすればそれを回避できますか? Xcode4 の提案コードはありますか?

mainController のサンプル コードを次に示します。これを2番目の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 に答える