public AudioController() { GameSystem.Instance.AudioController = this; currentAudio.Add(AudioType.BGM, new Dictionary <int, AudioInfo>()); currentAudio.Add(AudioType.Voice, new Dictionary <int, AudioInfo>()); audioParent = new GameObject("AudioLayers"); int num = 0; for (int i = 0; i < 6; i++) { GameObject gameObject = new GameObject("BGM Channel " + i.ToString("D2")); AudioLayer audioLayer = gameObject.AddComponent <AudioLayer>(); gameObject.transform.parent = audioParent.transform; audioLayer.Prepare(num); channelDictionary.Add(num, audioLayer); num++; } for (int j = 0; j < 8; j++) { GameObject gameObject2 = new GameObject("Voice Channel " + j.ToString("D2")); AudioLayer audioLayer2 = gameObject2.AddComponent <AudioLayer>(); gameObject2.transform.parent = audioParent.transform; audioLayer2.Prepare(num); channelDictionary.Add(num, audioLayer2); num++; } for (int k = 0; k < 8; k++) { GameObject gameObject3 = new GameObject("SE Channel " + k.ToString("D2")); AudioLayer audioLayer3 = gameObject3.AddComponent <AudioLayer>(); gameObject3.transform.parent = audioParent.transform; audioLayer3.Prepare(num); channelDictionary.Add(num, audioLayer3); num++; } for (int l = 0; l < 2; l++) { GameObject gameObject4 = new GameObject("System Channel " + l.ToString("D2")); AudioLayer audioLayer4 = gameObject4.AddComponent <AudioLayer>(); gameObject4.transform.parent = audioParent.transform; audioLayer4.Prepare(num); channelDictionary.Add(num, audioLayer4); num++; } AudioConfiguration configuration = AudioSettings.GetConfiguration(); configuration.sampleRate = 44100; AudioSettings.Reset(configuration); }