AVSesssion shared and using a singleton?

Documentation states that using AVFoundation that the app get a system defined shared instance.

If i use something like this

  class var Shared:Audio
  {
    struct Singleton { static let instance:Audio = Audio() }
    return Singleton.instance
  }


or using the standard default definition


var Audio : AVAudioSession = AVAudioSession.sharedInstance()


Is there a difference in overhead? latency?


If I want to have background music playing and then an affect, would I need have two players under one session? musicPlayer and sfxPlayer?


or if I set

AVAudioSessionCategoryAmbient


is the session manager smart enough to know to mix the audio?

AVSesssion shared and using a singleton?
 
 
Q