и опять промах) Теперь звук не останавливается вообще - это раз. И если проиграть первый звук, затем второй, а после этого снова первый - первый звук можно снова дублировать - это два) Сейчас попробую флагами одолеть это...
Обязательно отпишу, даже если не получилось
Добавлено через 5 минут
отлично, заработало! Теперь ваша функция приобрела следующий вид:

Код AS1/AS2:
function startStopMus(btnID){
var vsound:Sound = new Sound();
vsound.attachSound(mp3[btnID]);
if (!btn[btnID].enbl){
vsound.start(mp3[btnID]);
btn[btnID].enbl = true;
} else {
vsound.stop(mp3[btnID]);
btn[btnID].enbl = false;
}
vsound.stop(mp3[btnID - 1]);
vsound.stop(mp3[btnID + 1]);
btn[btnID - 1].enbl = false;
btn[btnID + 1].enbl = false;
}
Большое спасибо)
Добавлено через 13 часов 31 минуту
хе, добавил на сцену еще парочку кнопкоклипов и в библиотеку парочку звуков, решил проверить свою догадку. Оказалось, точно - если запустить первый звук, а затем четвертый - они накладываются друг на друга. Вот здесь недочет:

Код AS1/AS2:
vsound.stop(mp3[btnID - 1]);
vsound.stop(mp3[btnID + 1]);
btn[btnID - 1].enbl = false;
btn[btnID + 1].enbl = false;
исправил вот так:

Код AS1/AS2:
function startStopMus(btnID){
var vsound:Sound = new Sound();
vsound.attachSound(mp3[btnID]);
if (!btn[btnID].enbl){
vsound.start(mp3[btnID]);
btn[btnID].enbl = true;
} else {
vsound.stop(mp3[btnID]);
btn[btnID].enbl = false;
}
if (btnID != btn.length-1){
for(j = btnID+1; j <= btn.length-1; j++){
vsound.stop(mp3[j]);
btn[j].enbl = false;
}
}
if (btnID != 0){
for(j = btnID-1; j >= 0; j--){
vsound.stop(mp3[j]);
btn[j].enbl = false;
}
}
}