Sound fading in function with prototype and setInterval

I’m trying to create a function that will help me fade in sounds with the help of setInterval. I’m almost there! Here is the code so far:

// Begin

melodyhalf1 = new Sound(“melodyhalf1_mc”);
melodyhalf1.attachSound(“melodyhalf1”);
melodyhalf1.start(0, 99);
melodyhafl1.vol = 0;
melodyhalf1.setVolume(melodyhalf1.vol);

Sound.prototype.fadeIn = function() {
trace(“I’m in fadeIn”);
trace(this);
this.vol += 3;
this.setVolume(this.vol);
if (this.vol>=100) {
clearInterval(this.fade);
trace(“cleared”);
}
}

melodyhalf1.fade = setInterval(melodyhalf1.fadeIn, 500);

// End

I placed a comment in the Sound.prototype.fadeIn to test if it was being called, as well as to see if the melodyhalf1 variable (object?) was being passed.

The results are that the fadeIn function is being called, but the trace(this) comes back with ‘undefined’.

What am I doing wrong?