- Home /
how to play multiple looping sounds from the same object?
I have an object that I'd like to play several different looping sounds from. I've added two Audio Source components to the object, I've checked "Loop" in the inspector, and I'm doing this in the script:
audio.clip = BounceLoop;
audio.Play();
yield WaitForSeconds (5);
audio.clip = RollSound;
audio.Play();
This issue I'm having is that in some instances, I may want both sounds to be playing simultaneously but switching the clip and using audio.Play()
doesn't allow for that. Is there another way to play a looping sound from script? All audio.loop = true
does is set a clip to be looping.
Any ideas? I'm stuck!
Answer by syclamoth · Sep 15, 2011 at 02:00 AM
Using Component.audio only returns one of your two audioSources! Instead, make an array of AudioSource objects, and assign them manually in the inspector, and then iterate through the array and do the same operation on each of them whenever you want to change something. Using the automatic component lookup assumes that you will only ever have one of each kind of component on your gameobjects, which in this case is obviously not true!
Answer by Ludiares.du · Sep 14, 2011 at 06:58 PM
To play at same time use audio.PlayOneShot()
PlayOneShot() doesn't inherit the looping properties of the clip from the audio source component and I haven't been able to find a way to make something loop from script. Does anyone have any other ideas?
Your answer
![](https://koobas.hobune.stream/wayback/20220612212936im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Audio after Audio Loop 1 Answer
how to start audioloop synced to one playing 1 Answer
Can't select audio clip even though it's there 1 Answer
Can I play multiple AudioSources from one gameobject? 8 Answers
Unity audio solution 1 Answer