# Sound fade in/out function - use onEnterFrame or loop?

**URL:** <https://forum.kirupa.com/t/sound-fade-in-out-function-use-onenterframe-or-loop/243217>\
**Category:** flash\
**Created:** [November 4, 2007, 4:18pm UTC](https://forum.kirupa.com/t/sound-fade-in-out-function-use-onenterframe-or-loop/243217 "2007-11-04T16:18:26Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![davelaruedrum](https://avatars.discourse-cdn.com/v4/letter/d/4da419/32.png) [@davelaruedrum](https://forum.kirupa.com/u/davelaruedrum)\
**Post date:** [November 4, 2007, 4:18pm UTC](https://forum.kirupa.com/t/sound-fade-in-out-function-use-onenterframe-or-loop/243217/1 "2007-11-04T16:18:26Z")

</div>

Hi,  
I made a function to fade a sound (global variable called daveSoundVolume 🙂 ). It takes a number to fade to…First i put everything in a for loop, but then i realized how fast a for loop is, i considered using onEnterFrame function, but its not very efficient to have it call my fade function all the time!!!  
So, my question is, is it an idea to use a time delay? How would i implement a time delay into my code? setInterval calls a function…but i need it to call i++ i guess.  
Any ideas?

```auto
function fade(num){

		if (daveSoundVolume < num){
			daveSoundVolume += 1;
			daveSound.setVolume(daveSoundVolume);
		}
		else if (daveSoundVolume > num){
			daveSoundVolume -= 1;
			daveSound.setVolume(daveSoundVolume);
		}
		else if (daveSoundVolume == 0){
			daveSound.setVolume(num);
			break;
		}
	
}

```
