- Home /
how to play audio at a given time.
how to play audio at a given time,i mean i wanted to play audio after 1 min in the game. anyone please.
thank you
Answer by Kleptomaniac · Apr 05, 2012 at 01:29 PM
var foo : AudioSource;
function Update () {
if (!foo.isPlaying && Time.time >= 60) {
foo.Play();
}
}
Simple as that. ;)
Hope that helps, Klep
It is not necessary (even buggy?) to ask to play it each frame once it is already playing, so this code is better:
if( !foo.isPlaying && Time.time >= 60 )
Oh crap, sorry! Haha! What a stupid mistake! Literally facepal$$anonymous$$g right now ... Thanks for that pickup :D
since that is in seconds but i only know the frame at which i want to put the sound how would i adjust for that?
like say for example i want a sound at 7 seconds and 13 frames
Answer by Kryptos · Apr 05, 2012 at 01:50 PM
You can use coroutines. Following code is in C#, but JS is quite similar.
IEnumerator PlaySoundAfterDelay( AudioSource audioSource, float delay )
{
if( audioSource == null )
yield break;
yield return new WaitForSeconds( delay );
audioSource.Play();
}
And to use it, you just need to start the coroutine:
public AudioSource myAudio;
void Start()
{
StartCoroutine( PlaySoundAfterDelay( myAudio, 60.0f ) );
}
Your answer
Follow this Question
Related Questions
Play local Android/IOS audio files in unity game. 0 Answers
Analyzing an audio file. 0 Answers
Stop audio from looping and play at lower volume 1 Answer
Audio on collision is not playing 1 Answer
How to play multiple audioclips from the same object? 4 Answers