Покопавшись в сети, попробовал сделать, вот что получилось:

Код AS1/AS2:
createEmptyMovieClip("clip",getNextHighestDepth());
var muz:Sound = new Sound(clip);
var position:Number=0;
muz.loadSound("s1.mp3", false);
muz.onSoundComplete=function():Void{
position=0;
flag=true;
}
btn.onRollOver = function () {
muz.start(Math.floor(position/1000));
muz.setVolume(25);
};
btn.onRollOut = fadeOutSound;
function fadeOutSound():Void {
if (id) {
clearInterval(id);
}
var volume = muz.getVolume();
id = setInterval(fadeOut, 10);
function fadeOut():Void {
muz.setVolume(volume--);
if (volume<=0) {
clearInterval(id);
muz.stop()
if (flag == true) {
flag == false;
}
else {
position=muz.position;
}
}
}
}
Вроде работает, как и надо, но срабатывает все один раз: при наведении файл воспроизводится, при отводе "затухает", если снова навести - проигрывается с того же места - все ок. После того как файл проигрался и мышка остается в поле movieclip - ничего не происходит - так и должно быть, затем если отвести и подвести вновь - файл воспроизведется, но если отвести и подвести еще раз - он начнет играть с начала, а не стого же месте, т.о. реально все работает только при одном цикле.