Тоже решил попробовать сделать кнопки STOP и PLAY на странице для управления флэш-роликом (swf-файл). В разных браузерах всё по-разному:
IE и Opera: При зарузке страницы ролик автоматически не воспроизводится. Собсно так и должно быть. При нажатии кнопки PLAY ролик воспроизводится. При нажатии кнопки STOP воспроизведение видео останавливается, звук продолжает воспроизводиться дальше. При последующем нажатии кнопки PLAY видео "сниается с паузы", но, как уже стало понятно, рассинхрон со звуком, ибо он ушёл вперёд.
В Лисе, Хроме и Сафари всё тоже самое, только при загрузке страницы включается автоматическое воспроизведение флэш-ролика. Причем в Лисе без звука.
Вопрос: есть ли в JS простые (ессно кросбраузерные) способы (свойства и методы flash-объекта) управления флэш-роликом (воспроизведение видео синхронно со звуком, синхронная остановка звука и видео и пр.) или без создания "мостов JS-Flash" никак не обойтись? Статью про "Мост" читал, но ничего не понял, ибо во Flash и AS полный ноль.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Flash</title>
</head>
<body>
<div>
<object id="movieIE" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="400">
<param name="movie" value="SwissCheese.swf"/>
<!--[if !IE]>-->
<object id="movie" type="application/x-shockwave-flash" data="SwissCheese.swf" width="400" height="400">
<!--<![endif]-->
<p>Alternative content</p>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object><br />
<input id="play" type="button" onclick="playFlash()" value="play"/>
<input id="stop" type="button" onclick="stopFlash()" value="stop"/>
</div>
<script type="text/javascript">
var flash = {};
if (navigator.appName.indexOf("Microsoft") != -1) flash = document.getElementById("movieIE");
else flash = document.getElementById("movie");
if (flash.IsPlaying() == true) {
flash.StopPlay();
flash.Rewind();
}
function playFlash() {
if (flash.PercentLoaded() == 100)
flash.Play();
}
function stopFlash() {
flash.StopPlay();
}
</script>
</body>
</html>