Воспроизведение только одного SWF-файла за раз - PullRequest
0 голосов
/ 17 мая 2011

Как я могу остановить воспроизведение одного SWF-файла при воспроизведении другого на HTML-странице?

В настоящее время у меня есть карусель, которая отображает несколько SWF-файлов, и я не хочу никакого наложения видео или аудио.Я искал опции LocalConnection и JavaScript, но безуспешно.Мои SWF-файлы в настоящее время - ActionScript 3 и Flash Player 10. У меня есть большая кнопка воспроизведения с кодом ActionScript:

import fl.video.VideoEvent;
import fl.video.VideoState;

video.addEventListener(VideoEvent.STATE_CHANGE,showButton);
playVideoButton.addEventListener(MouseEvent.MOUSE_UP,playVideo);

function playVideo(event:MouseEvent):void {
    video.play();
    playVideoButton.visible=false;
}

function showButton(event:VideoEvent):void {
    switch (event.target.state) {
        case "stopped" :
            playVideoButton.visible=true;
            break;
        case "playing" :
            playVideoButton.visible=false;
            break;
        case "paused" :
            playVideoButton.visible=true;
            break;
    }
}

Есть ли способ включить «остановить воспроизведение других SWF-файлов»в этом как-то?

1 Ответ

0 голосов
/ 17 мая 2011

Что вы хотите сделать, это настроить метод обратного вызова ExternalInterface в каждом SWF-файле. Это позволит JavaScript вызывать функцию в вашем SWF-файле.

Так, например, вы можете настроить функцию с именем stopPlaying() и все.

Затем вы настраиваете функцию JavaScript с именем playVideo(string:String), которая вызывает stopPlaying() для каждого SWF-файла, кроме той, которая связана со строкой, которую вы передаете.

Всякий раз, когда кто-либо нажимает на воспроизведение в одном из ваших SWF-файлов, выполните ExternalInterface.call("playVideo", "myString"), и ваша функция JavaScript должна работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...