PDA

Просмотр полной версии : управление проигрыванием из js


zzz_dmg
22.01.2009, 17:18
стоит следующая задача. есть прозрачная флешка, в которой находится только звук. есть ссылка. по нажатию на ссылку флешка должна проиграться. я так понимаю идет ее управление через js... как это все реализовать и прописать???

Azo
26.01.2009, 16:30
выкладывай, посмотрим на неё все вместе ;-)

hipot
27.01.2009, 21:47
ну тут надо код писать/выполнять уметь.
JavaScript и AS3 (1,2) минимум.
Вообще тема пахнет программированием, поэтому ее надо переносить в соответствующие разделы (в зависимости от того, на какой версии AS будет реализация)

вот как это делается на AS3 (на AS1,2 не помню как):

Вызов JavaScript из флеш:
делаем функцию JS на HTML странице, напр.

<script language="JavaScript">
function changeTitle(title) {
if(title == undefined) {
title = "New Title";
}
window.title = title;
}
function getTitle( ) {
return window.title;
}
</script>


Затем во флеш вызываем AS3 метод call класса ExternalInterface

var title:String = ExternalInterface.call("getTitle");
ExternalInterface.call("changeTitle", "ActionScript 3.0 Exam"); //передаем значение параметра в JS

также есть и такой способ (опять же AS3)

var request:URLRequest = new URLRequest("javascript:alert('example');");
navigateToURL(request);


Вызов ActionScript3 функций(методов) из JavaScript.

необходимо написать функцию(метод) as3 и разрешить его использование извне при помощи


function displayMessage(mess:String):void {
//..что-то тут делаем
}
ExternalInterface.addCallback("showMessage", displayMessage);
/*showMessage - так будет называться метод в JS*/


Затем на HTML странице, напр. так:

<script language="JavaScript">
var flashPlayer;
function detectFlashPlayer( ) {
if(navigator.appName.indexOf("Microsoft") != -1) {
flashPlayer = window.objectId;
}
else {
flashPlayer = window.document.embedName;
}
}
detectFlashPlayer();
flashPlayer.showMessage("example message");
</script>



из-за особенностей политики безопасности плеера, это работает только при обращении к странице в виде
http://sitename.ru/somepage.html
т.е. на веб-сервере, а не просто открыть html с жетского диска.

zzz_dmg
28.01.2009, 01:03
hipot спасибо