Я думаю, что проще всего сделать это несколько точно:
1 / поместить музыку в файл .flv и добавить к нему ключевые точки.Затем триггеры могут быть синхронизированы с контрольными точками.Я предполагаю, что вам также придется немного их компенсировать, чтобы соответствовать тому, что вы видите, и тому, что вы слышите.Это определенно потребует некоторых экспериментов.Однако при использовании этого решения необходимо помнить, что потоковая передача файла может быть смещена, приостановлена и т. Д. В зависимости от скорости D / L.
или
2 / Другое решение будетимпортировать звук во временную шкалу мувиклипа в виде потока, а затем разрешить ему отправлять события в соответствующих кадрах для синхронизации с триггерами.Я думаю, что это будет самое точное решение.
Попытка сделать это полностью с помощью кода, я думаю, будет недостаточно точной и, очевидно, зависит и от музыки.Если вы используете электронную музыку, ритм машины «совершенен», но если она создана человеком, то есть небольшие вариации и «ошибки», которые испортят синхронизацию.Однако, если вы хотите пойти по этому пути,
3 / вам нужно будет проанализировать данные, полученные с помощью SoundMixer.computeSpectrum
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/SoundMixer.html#computeSpectrum()
Очевидно, что это единственное решение, которое имеет смыслесли вы хотите обновить песню.
У меня нет большого опыта в подобных вещах, хотя, может быть, есть и лучшие решения.