2016-06-26 16 views
0

私はバックグランドミュージックが再生されているSwiftのアプリに取り組んでいます。音楽はAppDelegate関数内で開始されます。スイッチボタンで背景音楽をすばやく停止するにはどうすればよいですか?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 

しかし、私はバックグラウンドミュージックを停止することができるようにしたいスイッチがある場合であるSettingsViewControllerというビューコントローラを持っています。

私はどのようにしてスイッチのボタンで音楽を止めることができますか?

答えて

0
  1. すべての音を処理するためにSoundHelper.swiftのようなシングルトンを作成します。このシングルトンクラスに関数startPlayingBGM()stopPlayingBGM()を作成します。

  2. アプリが起動すると、関数SoundHelper.sharedInstance.startPlayingBGM()を呼び出します。スイッチ機能で

  3. は、ちょうどあなたが迅速シングルトンに精通していない場合、それをグーグル、SoundHelper.sharedInstance.stopPlayingBGM()

としての機能を呼び出す少し学び、それは非常に有用であろう。素早くサウンドヘルパーのGithubの例をいくつか見つけて、それらのコードを見てみることもできます。

シングルトンを必要としない場合でも、すべての静的変数を含むグローバル構造Sound.swiftを作成できます。

struct Sound { 
    static var isVolumeOn = true 
    ... 
    static func playSound() { 
    //.... 
    } 
    static func stopSound() { 
    //.... 
    } 
} 

外部からすべての静的関数と変数にアクセスできます。たとえば、アプリの起動時にSound.playSound()に電話し、スイッチ機能でSound.stopSound()に電話をかけます。

+0

あなたのようにシングルトンを作成しました。しかし、私は別の問題を思いついた。私は、スイッチの状態が「On」または「Off」になるように変更しました。しかし、アプリが最初にインストールされたときに、スイッチがオンかどうかは分かりません。だから音楽はあなたがスイッチをオフにしてからオンにするまで再生されません。助言がありますか? – user2303213

+0

2番目のメソッドには 'isVolumeOn = true'変数があります。これを使うことができます。 –