hallo anonymer marc,
Für das Problem kannst Du den Befehl sound(whichChannel).isBusy() überprüfen.
Das folgende Verhaltensskript legt die Variable sndChannel fest. Bei mouseUp (kannst Du natürlich ändern) überprüft eine Schleife so lange die Eigenschaft sound().isBusy()für 8 Kanäle, bis einer frei wird und spielt dann den member mySnd ab, der zufallsmäßig aud der sndList ermittelt wird:
property sndChannel, mySnd
on mouseUp me
soundList = ["sound1", "sound2", "sound3", "sound4", "sound5", "sound6", "sound7", "sound8", "sound9", "sound10", "sound11", "sound12", "sound13", "sound14", "sound15", "sound16", "sound17", "sound18", "sound19", "sound20"]
mySnd = soundList[random(soundList.count)]
sndChannel = 1
repeat while sound(sndChannel).isBusy()
if sndChannel < 8 then
sndChannel = sndChannel + 1
else
sndChannel = 1
end if
end repeat
sound(sndChannel).play(member mySnd)
end mouseUp
Das gibt zwar klanglich ein gewaltiges Chaos, aber wenn Du meinst... :)
grüsse,
Christof