Legacy Documentation: Version 5.0
Language: English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

AudioSettings.Reset

Switch to Manual
public static function Reset(config: AudioConfiguration): bool;

Parameters

configThe new configuration to be used.

Returns

bool True if all settings could be successfully applied.

Description

Performs a change of the device configuration. In response to this the AudioSettings.OnAudioConfigurationChanged delegate is invoked with the argument deviceWasChanged=false. It cannot be guaranteed that the exact settings specified can be used, but the an attempt is made to use the closest match supported by the system.

#pragma strict
public class TestAudioConfiguration {
	function Start() {
		AudioSettings.OnAudioConfigurationChanged += OnAudioConfigurationChanged;
	}
	function OnAudioConfigurationChanged(deviceWasChanged) {
		Debug.Log(deviceWasChanged ? "Device was changed" : "Reset was called");
		if (deviceWasChanged) {
			var config = AudioSettings.GetConfiguration();
			config.dspBufferSize = 64;
			AudioSettings.Reset(config);
		}
		GetComponent.<AudioSource>().Play();
	}
	static var validSpeakerModes = [intAudioSpeakerMode.Mono, intAudioSpeakerMode.Stereo, intAudioSpeakerMode.Quad, intAudioSpeakerMode.Surround, intAudioSpeakerMode.Mode5point1, intAudioSpeakerMode.Mode7point1];
	static var validDSPBufferSizes = [32, 64, 128, 256, 340, 480, 512, 1024, 2048, 4096, 8192];
	static var validSampleRates = [11025, 22050, 44100, 48000, 88200, 96000];
	static var validNumRealVoices = [1, 2, 4, 8, 16, 32, 50, 64, 100, 128, 256, 512];
	static var validNumVirtualVoices = [1, 2, 4, 8, 16, 32, 50, 64, 100, 128, 256, 512];
	function GUIRow(name, valid, value, modified) {
		GUILayout.BeginHorizontal();
		GUILayout.Button(name + "=" + value);
		for (var i = 0; i < valid.Length; i++) {
			var s = valid[i].ToString();
			if (valid[i] == value)
				s = "[" + s + "]";
			if (GUILayout.Button(s)) {
				value = valid[i];
				modified = true;
			}
		}
		GUILayout.EndHorizontal();
		return value;
	}
	function OnGUI() {
		var source = GetComponent.<AudioSource>();
		var modified = false;
		var config = AudioSettings.GetConfiguration();
		config.speakerMode = AudioSpeakerModeGUIRow("speakerMode", validSpeakerModes, intconfig.speakerMode, modified);
		config.dspBufferSize = GUIRow("dspBufferSize", validDSPBufferSizes, config.dspBufferSize, modified);
		config.sampleRate = GUIRow("sampleRate", validSampleRates, config.sampleRate, modified);
		config.numRealVoices = GUIRow("RealVoices", validNumRealVoices, config.numRealVoices, modified);
		config.numVirtualVoices = GUIRow("numVirtualVoices", validNumVirtualVoices, config.numVirtualVoices, modified);
		if (modified)
			AudioSettings.Reset(config);
		if (GUILayout.Button("Start"))
			source.Play();
		if (GUILayout.Button("Stop"))
			source.Stop();
	}
}