private static AudioCallback PlaySoundUsing(AudioSource source, AudioClip clip, AudioContext context, Vector3 position) { source.clip = clip; source.transform.position = position; source.Apply(context); source.time = 0f; source.Play(); freeVoices.Remove(source); AudioCallback callback = new AudioCallback(source, clip, context); // return to free voices when done instance.StartCoroutine(WaitForComplete(source, callback)); return(callback); }
public static AudioSource SetPitch(this AudioSource self, float pitch) => self.Apply(it => it.pitch = pitch);
public static AudioSource SetVolume(this AudioSource self, float volume) => self.Apply(it => it.volume = volume);
public static AudioSource Unmute(this AudioSource self) => self.Apply(it => it.mute = false);
public static AudioSource Mute(this AudioSource self) => self.Apply(it => it.mute = true);
public static AudioSource SetOutput(this AudioSource self, AudioMixerGroup group) => self.Apply(it => it.outputAudioMixerGroup = group);
public static AudioSource SetClip(this AudioSource self, AudioClip audioClip) => self.Apply(it => it.clip = audioClip);