Главная » ActionScript » Настройка компонента FLVPlayback – ЧАСТЬ 2

0

Как вы заметили, фрагмент ролика маркера имеет фоновый прямоугольник, значение альфа-канала которого установлено на 0. Этот прямоугольник увеличивает размер области попадания маркера, упрощая его захват без изменения внешнего вида, подобно состоянию попадания кнопки. Так как маркер создается динамически при исполнении, он должен быть фрагментом ролика, а не кнопкой. Прямоугольник со значением альфа- канала равным 0 не нужен ни для какой другой цели, и его можно заменить любым изображением. Однако рекомендуется оставить точку регистрации в центре по горизонтали, в середине фрагмента ролика маркера.

Следующий код ActionScript в Кадре 1 компонента SeekBar предназначен для управления маркером:

stop();

handleLinkageID = "SeekBarHandle"; handleLeftMargin = 2; handleRightMargin = 2;

handleY = 11;

Вызов функции stop() необходим из-за содержимого Кадра 2.

Вторая строка указывает на символ, который нужно использовать в качестве маркера, и его не следует изменять, если вы просто редактируете экземпляр фрагмента ролика маркера в Кадре 2. При исполнении компонент FLVPlayback создает экземпляр указанного фрагмента ролика в рабочей области в качестве компонента того же уровня, что и экземпляр компонента Bar, т. е. они имеют общий родительский фрагмент ролика. Таким образом, если строка находится на корневом уровне, маркер тоже должен быть на корневом уровне.

Переменная handleLeftMargin определяет исходное положение маркера (0 %), а переменная handleRightMargin определяет его конечное положение (100 %). Эти числа определяют отступ от левого и правого концов элемента управления "строка", где положительные числа задают границы в пределах строки, а отрицательные — за ее пределами. Эти отступы указывают место перемещения маркера на основе его точки регистрации. Если поместить точку регистрации в середине маркера, его дальние левый и правый края выйдут за поля. Для правильной работы фрагмент ролика строки поиска должен иметь точку регистрации в левом верхнем углу содержимого.

Переменная handleY определяет положение маркера по оси y относительно экземпляра строки. Это положение определяется на основе точек регистрации каждого фрагмента ролика. Точка регистрации образца маркера находится на вершине треугольника, располагая его относительно видимой части, не учитывая невидимый прямоугольник области попадания. Для правильной работы фрагмент ролика строки также должен иметь точку регистрации в левом верхнем углу содержимого.

Например, при таких границах, если для строки заданы границы (100, 100) и ее ширина равна 100 пикселам, границы маркера по горизонтали будут составлять от 102 до 198, а положение по вертикали — 111. Если изменить значения переменных handleLeftMargin и handleRightMargin на -2, а значение handleY на -11, границы маркера по горизонтали будут составлять от 98 до 202, а положение по вертикали — 89.

Фрагменты роликов хода выполнения и заполненности

Компонент SeekBar имеет фрагмент ролика ход выполнения, а компонент VolumeBar имеет фрагмент ролика заполненность, но на практике любой компонент SeekBar или VolumeBar может иметь любой из этих фрагментов роликов, ни одного из них или оба эти фрагмента роликов. Они имеют одинаковую структуру и схожее поведение, но отслеживают разные значения. Фрагмент ролика хода выполнения заполняется по мере загрузки FLV-файла (что применимо только к загрузке через HTTP, так как эта строка всегда отображается заполненной при потоковой передаче с FMS), а фрагмент ролика заполненности заполняется по мере движения маркера слева направо.

Компонент FLVPlayback находит экземпляры этих фрагментов роликов по конкретным именам экземпляров, поэтому экземпляр фрагмента ролика хода выполнения должен иметь родительский фрагмент ролика строки и имя progress_mc. Экземпляр фрагмента ролика заполненности должен иметь имя fullness_mc.

Фрагменты роликов хода выполнения и заполненности могут иметь или не иметь вложенный экземпляр фрагмента ролика fill_mc. Фрагмент ролика fullness_mc компонента VolumeBar демонстрирует метод с использованием фрагмента ролика fill_mc, а фрагмент ролика progress_mc компонента SeekBar демонстрирует метод без использования фрагмента ролика fill_mc.

Метод с использованием вложенного фрагмента ролика fill_mc используется в случаях, когда требуется заполнитель, масштабирование которого не обходится без искажения внешнего вида.

Во фрагменте ролика fullness_mc компонента VolumeBar вложенный фрагмент ролика fill_mc имеет маску. Маску можно наложить либо при создании самого фрагмента ролика, либо она будет создана динамически при исполнении. Если маска представляет собой фрагмент ролика, присвойте экземпляру имя mask_mc и настройте его так, чтобы fill_mc отображался, как при 100 % заполнении. Если не наложить маску на fill_mc, динамически созданная маска будет прямоугольной и иметь тот же размер, что и fill_mc при 100 % заполнении.

Фрагмент ролика fill_mc проявляется с маской одним из двух способов, в зависимости от того, установлено свойство fill_mc.slideReveal на значение true или на значение false.

Если значение fill_mc.slideReveal равно true, то fill_mc двигается слева направо, проявляясь через маску. При

0 % он находится в крайнем левом положении и совсем не проявляется через маску. По мере роста процентной

величины он сдвигается вправо, пока, достигнув 100 %, не окажется в том месте, в котором был создан в

рабочей области.

Если значение fill_mc.slideReveal равно false или является неопределенным (поведение по умолчанию), размер маски будет изменяться слева направо, все больше проявляя fill_mc. В положении 0 % маска будет масштабирована до 05 по горизонтали, и по мере роста процентной величины значение scaleX будет увеличиваться, пока, при 100 %, fill_mc не проявится полностью. Не обязательно scaleX = 100, так как экземпляр mask_mc мог быть масштабирован при создании.

Метод без использования fill_mc проще, чем метод с использованием fill_mc, но вызывает искажение заполнителя по горизонтали. Если такое искажение нежелательно, необходимо использовать fill_mc. Фрагмент ролика progress_mc компонента SeekBar иллюстрирует такой метод.

Фрагмент ролика хода выполнения или заполненности масштабируется по горизонтали на основе процентной величины. При 0 % свойство scaleX экземпляра установлено на значение 0, делая его невидимым. По мере роста процентной величины значение scaleX регулируется, пока, достигнув 100 %, ролик не достигнет того же размера, который имел в рабочей области при создании. Опять же, не обязательно scaleX

= 100, так как экземпляр ролика мог быть масштабирован при создании.

Соединение компонентов пользовательского интерфейса для воспроизведения FLV- файлов

Если поместить компоненты пользовательского интерфейса на одну временную шкалу и в тот же кадр, что и компонент FLVPlayback, и свойство skin не будет задано, FLVPlayback автоматически присоединится к ним без использования ActionScript.

Если в рабочей области расположено несколько компонентов FLVPlayback или если пользовательский элемент управления и экземпляр FLVPlayback находятся не на одной временной шкале, необходимо написать код ActionScript, чтобы присоединить компоненты пользовательского интерфейса к экземпляру компонента FLVPlayback. Сначала необходимо присвоить имя экземпляру FLVPlayback, а затем при помощи ActionScript назначить экземпляры компонентов пользовательского интерфейса для воспроизведения FLV-файлов соответствующим свойствам компонента FLVPlayback. В следующем примере экземпляр FLVPlayback имеет имя my_FLVPlybk, имена свойств FLVPlayback написаны после точек (.), а экземпляры компонентов пользовательского интерфейса стоят справа от знака "равно" (=):

//FLVPlayback instance = my_FLVPlybk

my_FLVPlybk.playButton = playbtn; // set playButton prop. to playbtn, etc. my_FLVPlybk.pauseButton = pausebtn;

my_FLVPlybk.playPauseButton = playpausebtn; my_FLVPlybk.stopButton = stopbtn; my_FLVPlybk.muteButton = mutebtn; my_FLVPlybk.backButton = backbtn; my_FLVPlybk.forwardButton = forbtn; my_FLVPlybk.volumeBar = volbar; my_FLVPlybk.seekBar = seekbar; my_FLVPlybk.bufferingBar = bufbar;

Следующая процедура создает пользовательские элементы управления StopButton, PlayPauseButton, MuteButton и SeekBar:

1   Перетащите компонент FLVPlayback в рабочую область и присвойте ему имя экземпляра my_FLVPlybk.

2   При помощи Инспектора компонентов установите параметр source на значение

http://www.helpexamples.com/flash/video/cuepoints.flv.

3   Установите параметр "Обложка" на значение "Нет".

4   Перетащите StopButton, PlayPauseButton и MuteButton в рабочую область и поместите их поверх экземпляра FLVPlayback, накладывая их вертикально слева. В Инспекторе свойств присвойте каждой кнопке имя экземпляра (например, my_stopbttn, my_plypausbttn и my_mutebttn).

5   На панели "Библиотека" откройте папку FLVPlayback Skins, затем откройте под ней папку SquareButton.

6   Выберите фрагмент ролика SquareBgDown и дважды щелкните его, чтобы открыть в рабочей области.

7   Щелкните его правой кнопкой мыши (в Windows) или щелкните мышью, удерживая клавишу Ctrl (в

Macintosh), выберите пункт меню "Выделить все" и удалите символ.

8   Выберите инструмент "Овал", нарисуйте овал в том же месте и задайте синюю заливку (#0033FF).

9   В Инспекторе свойств установите ширину (W:) на 40, а высоту (H:) на 20. Установите координату "x" (X:) на

0.0, а координату "y" (Y:) на 0.0.

10 Повторите шаги 6-8 для SquareBgNormal, но измените заливку на желтую (#FFFF00).

11 Повторите шаги 6-8 для SquareBgOver, но измените заливку на зеленую (#006600).

12 Отредактируйте фрагменты роликов для различных значков символов внутри кнопок (PauseIcon, PlayIcon, MuteOnIcon, MuteOffIcon и StopIcon). Эти фрагменты роликов можно найти на панели "Библиотека" в разделе FLV Playback Skins/Метка Button/Assets, где Метка — это имя кнопки, например Play, Pause и т. д. Для каждого фрагмента ролика выполните следующие действия:

a   Выберите параметр "Выделить все".

b   Измените цвет на красный (#FF0000).

c    Установите масштаб на 300 %.

d   Измените местоположение X: содержимого на 7.0, чтобы изменить горизонтальное расположение значка для каждого состояния кнопки.

Примечание. Такой способ изменения местоположения позволяет избежать необходимости открывать каждое состояние кнопки и перемещать экземпляр фрагмента ролика значка.

13 Нажмите синюю стрелку "Назад" над временной шкалой, чтобы вернуться к Монтажному кадру 1, Кадру 1.

14 Перетащите компонент SeekBar в рабочую область и поместите его в правом нижнем углу экземпляра

FLVPlayback.

15 На панели "Библиотека" дважды щелкните компонент SeekBar, чтобы открыть его в рабочей области.

16 Установите масштаб на 400 %.

17 Выберите контур и задайте красный цвет (#FF0000).

18 Дважды щелкните SeekBarProgress в папке FLVPlayback Skins/Seek Bar и задайте желтый цвет (#FFFF00).

19 Дважды щелкните SeekBarHandle в папке FLVPlayback Skins/Seek Bar и задайте красный цвет (#FF0000).

20 Нажмите синюю стрелку "Назад" над временной шкалой, чтобы вернуться к Монтажному кадру 1, Кадру 1.

21 Выберите экземпляр SeekBar в рабочей области и присвойте ему имя my_seekbar.

22 На панель "Действия" Кадра 1 временной шкалы вставьте инструкцию import для классов Video и назначьте имена кнопки и строки поиска соответствующим свойствам компонента FLVPlayback, как показано в следующем примере:

import fl.video.*; my_FLVPlybk.stopButton = my_stopbttn; my_FLVPlybk.playPauseButton = my_plypausbttn; my_FLVPlybk.muteButton = my_mutebttn; my_FLVPlybk.seekBar = my_seekbar;

23 Нажмите Control+Enter для тестирования ролика.

Создание новой обложки

Лучшим способом создания SWF-файла обложки является копирование одного из файлов обложки, поставляемых с Flash, и использование его в качестве отправной точки. FLA-файлы для этих обложек можно найти в папке приложения Flash в Configuration/FLVPlayback Skins/FLA/ActionScript 3.0/. Чтобы законченный SWF-файл обложки стал доступным для выбора в диалоговом окне "Выбрать обложку", поместите его в папку Configuration/FLVPlayback Skins/ActionScript 3.0 либо в папке приложения Flash, либо в локальной папке пользователя Configuration/FLVPlayback Skins/ActionScript 3.0.

Так как цвет обложки можно задать отдельно от выбора обложки, нет необходимости редактировать FLA- файл для изменения цвета. Если вы создаете обложку определенного цвета и не хотите, чтобы он был редактируемым в диалоговом окне "Выбрать обложку", установите this.border_mc.colorMe = false; в коде ActionScript FLA-файла обложки. Дополнительную информацию о задании цвета обложки см. в разделе

«Выбор предустановленной обложки» на странице 161.

Если посмотреть на установленные FLA-файлы обложек во Flash, может показаться, что некоторые элементы в рабочей области не нужны, но многие из них вложены в слои направляющих. При интерактивном просмотре с 9-зонным масштабированием можно увидеть, что на самом деле отобразится в SWF-файле.

В последующих разделах приводятся описания более сложных настроек и изменений фрагментов роликов

SeekBar, BufferingBar и VolumeBar.

Использование макета обложки

При открытии FLA-файла обложки Flash вы увидите, что фрагменты роликов обложки расположены на основной временной шкале. Эти ролики и код ActionScript, который находится в том же кадре, определяют расположение элементов управления при исполнении.

Хотя слой макета имеет такой вид, какой будет иметь обложка при исполнении, содержимое этого слоя не видимо при исполнении. Он используется только для расчета размещения элементов управления. Другие элементы управления в рабочей области используются при исполнении.

На слое макета находится местозаполнитель для компонента FLVPlayback с именем video_mc. Все другие элементы управления размещаются относительно video_mc. Если начать с одного из FLA-файлов Flash и изменить размер элементов управления, можно поправить макет, переместив эти ролики местозаполнителей.

Каждый из роликов местозаполнителей имеет свое имя экземпляра. Ролики местозаполнителей имеют имена playpause_mc, play_mc, pause_mc, stop_mc, captionToggle_mc, fullScreenToggle_mc, back_mc, bufferingBar_mc, bufferingBarFill_mc, seekBar_mc, seekBarHandle_mc, seekBarProgress_mc, volumeMute_mc, volumeBar_mc и volumeBarHandle_mc. Часть, цвет которой изменяется при выборе цвета обложки, называется border_mc.

Неважно, какой из роликов используется для элемента управления. Как правило, для кнопок используется ролик нормального состояния. В отношении других элементов управления, для удобства используется ролик для этого элемента управления. Что действительно важно, так это положение x (по горизонтали) и положение y (по вертикали), а также ширина и высота местозаполнителя.

Помимо стандартных элементов управления можно иметь сколько угодно дополнительных роликов. Единственным требованием к этим роликам является то, что для их символов в библиотеке должен быть установлен флажок "Экспорт для ActionScript" в диалоговом окне "Связывание". Пользовательские ролики в слое макета могут иметь любое имя экземпляра, кроме зарезервированных имен, перечисленных выше. Имя экземпляра требуется только для сценария ActionScript роликов при определении макета.

Ролик border_mc особенный. Если установить свойство FlvPlayback.skinAutoHide на значение true, обложка отображается при наведении указателя мыши на ролик border_mc. Это важно для обложек, которые отображаются за границами видеопроигрывателя. Информацию о свойстве skinAutoHide см. в разделе

«Изменение поведения обложек» на странице 173.

В FLA-файлах Flash border_mc используется для хромирования и рамки кнопок Forward и Back.

Ролик border_mc является также частью обложки, значения альфа-канала и цвета которой были изменены при помощи свойств skinBackgroundAlpha и skinBackgroundColor. Чтобы значения цвета и альфа-канала были настраиваемыми, ActionScript в FLA-файле обложки должен содержать следующую строку:

border_mc.colorMe = true;

ActionScript и макет обложки

Следующий код ActionScript, как правило, применим ко всем элементам управления. Некоторые элементы управления имеют особый сценарий ActionScript, который определяет дополнительное поведение, которое описано в разделе, посвященном конкретному элементу управления.

Исходный код ActionScript представляет собой большой раздел, в котором указаны имена классов для каждого состояния каждого компонента. Все эти имена классов приведены в файле SkinOverAll.fla. Например, для кнопок Pause и Play такой код выглядит следующим образом:

this.pauseButtonDisabledState = "fl.video.skin.PauseButtonDisabled"; this.pauseButtonDownState = "fl.video.skin.PauseButtonDown"; this.pauseButtonNormalState = "fl.video.skin.PauseButtonNormal"; this.pauseButtonOverState = "fl.video.skin.PauseButtonOver"; this.playButtonDisabledState = "fl.video.skin.PlayButtonDisabled"; this.playButtonDownState = "fl.video.skin.PlayButtonDown"; this.playButtonNormalState = "fl.video.skin.PlayButtonNormal"; this.playButtonOverState = "fl.video.skin.PlayButtonOver";

Имена классов не имеют фактических внешних файлов класса; они просто указаны в диалоговом окне

"Связывание" для всех фрагментов роликов в библиотеке.

В компоненте версии ActionScript 2.0 в рабочей области находились фрагменты роликов, которые на самом деле использовались при исполнении. В компоненте версии ActionScript 3.0 эти фрагменты роликов также находятся в FLA-файле, но лишь для удобства редактирования. Теперь они все содержатся в слоях направляющих и не экспортируются. Для всех активов обложки в библиотеке задан экспорт в первый кадр, и они создаются динамически при помощи, например, такого кода:

new fl.video.skin.PauseButtonDisabled();

За этим разделом следует код ActionScript, который определяет минимальную ширину и высоту обложки. Эти значения отображаются в диалоговом окне "Выбрать обложку" и используются при исполнении для предотвращения задания размера обложки меньше минимального. Если вы не хотите указывать минимальный размер, задайте неопределенное значение или значение меньше или равное нулю.

// minimum width and height of video recommended to use this skin,

// leave as undefined or <= 0 if there is no minimum this.minWidth = 270;

this.minHeight = 60;

К каждому местозаполнителю можно применить следующие свойства:

Свойство                                                 Описание

anchorLeft               Логическое. Располагает элемент управления относительно левого края экземпляра FLVPlayback.

Значением по умолчанию является true, но если свойство anchorRight установлено явным образом на значение true, то значением по умолчанию будет false.

anchorRight              Логическое. Располагает элемент управления относительно правого края экземпляра FLVPlayback.

Значением по умолчанию является false.

anchorBottom             Логическое. Располагает элемент управления относительно нижнего края экземпляра FLVPlayback.

Значением по умолчанию является true, но если свойство anchorTop установлено явным образом на значение true, то значением по умолчанию будет false.

anchorTop                Логическое. Располагает элемент управления относительно верхнего края экземпляра FLVPlayback.

Значением по умолчанию является false.

Если оба свойства — anchorLeft и anchorRight — имеют значение true, элемент управления масштабируется по горизонтали при исполнении. Если оба свойства — anchorTop и anchorBottom — имеют значение true, элемент управления масштабируется по вертикали при исполнении.

Эффект применения этих свойств можно увидеть на примере их использования в обложках Flash. Только элементы управления BufferingBar и SeekBar поддаются масштабированию. Они накладываются поверх друг друга, и оба их свойства — anchorLeft и anchorRight — имеют значение true. Все элементы управления слева от BufferingBar и SeekBar имеют свойство anchorLeft установленное на true, а все элементы управления, расположенные справа, имеют свойство anchorRight установленное на true. Свойство anchorBottom всех элементов управления установлено на значение true.

Можно попытаться отредактировать фрагменты роликов на слое макета так, чтобы создать обложку с элементами управления, расположенными сверху, а не снизу. Для этого требуется просто переместить элементы управления вверх относительно video_mc и установить свойство anchorTop всех элементов управления на значение true.

Строка буферизации

Строка буферизации имеет два фрагмента роликов: bufferingBar_mc и bufferingBarFill_mc. Положение каждого ролика относительно другого ролика в рабочей области имеет значение, так как такое относительное положение сохраняется. Строка буферизации использует два отдельных ролика, так как масштабирование применяется только к bufferingBar_mc, а не к bufferingBarFill_mc.

К ролику bufferingBar_mc применяется 9-зонное масштабирование, поэтому при масштабировании границы не искажаются. Ролик bufferingBarFill_mc очень широкий, поэтому он не нуждается в масштабировании. Для него автоматически создается маска при исполнении для отображения части вытянутого ролика bufferingBar_mc. По умолчанию точные размеры маски будут сохранять равные поля слева и справа в bufferingBar_mc на основе разницы значений положений x (по горизонтали) роликов bufferingBar_mc и bufferingBarFill_mc. Расположение можно настроить при помощи кода ActionScript.

Если строка буферизации не нуждается в масштабировании или не использует 9-зонное масштабирование, ее можно настроить как компонент BufferingBar пользовательского интерфейса для воспроизведения FLV- файлов. Дополнительную информацию см. в разделе «Компонент BufferingBar» на странице 164.

Строка буферизации имеет дополнительное свойство:

Свойство                                                     Описание

fill_mc:MovieClip          Задает имя экземпляра заполнителя строки буферизации. Значением по умолчанию является bufferingBarFill_mc.

Строка поиска и регулятор громкости

Строка поиска имеет два фрагмента роликов: seekBar_mc и seekBarProgess_mc. Положение каждого ролика относительно другого ролика в слое макета имеет значение, так как такое относительное положение сохраняется. Хотя оба ролика поддаются масштабированию, seekBarProgress_mc нельзя вложить в seekBar_mc, так как seekBar_mc использует 9-зонное масштабирование, которое плохо работает с вложенными фрагментами роликов.

К ролику seekBar_mc применяется 9-зонное масштабирование, поэтому при масштабировании границы не искажаются. Ролик seekBarProgress_mc также поддается масштабированию, но искажение присутствует. К нему не применяется 9-зонное масштабирование, потому что это заполнитель и его искажение не заметно.

Ролик seekBarProgress_mc работает без fill_mc, так же как и ролик progress_mc работает в компонентах пользовательского интерфейса для воспроизведения FLV-файлов. Другими словами, для него не создается маска и он масштабируется по горизонтали. Точные размеры seekBarProgress_mc при 100 % определяются левым и правым полями ролика seekBarProgress_mc. Эти размеры по умолчанию равны и основаны на разнице значений положений x (по горизонтали) роликов seekBar_mc и seekBarProgress_mc. Эти размеры можно настроить при помощи кода ActionScript во фрагменте ролика строки поиска, как показано в следующем примере:

this.seekBar_mc.progressLeftMargin = 2; this.seekBar_mc.progressRightMargin = 2; this.seekBar_mc.progressY = 11; this.seekBar_mc.fullnessLeftMargin = 2; this.seekBar_mc.fullnessRightMargin = 2; this.seekBar_mc.fullnessY = 11;

Этот код можно вставить либо на временную шкалу фрагмента ролика SeekBar, либо вместе с другим кодом ActionScript на основную временную шкалу. Если настройка выполняется при помощи кода, а не за счет изменения макета, нет необходимости помещать заполнитель в рабочую область. Достаточно того, чтобы он присутствовал в библиотеке и был настроен на экспорт для ActionScript в Кадр 1 с правильным именем класса.

Как и в случае с компонентом SeekBar пользовательского интерфейса для воспроизведения FLV-файлов, для строки поиска можно создать фрагмент ролика заполненности. Если строка поиска не нуждается в масштабировании или нуждается в нем, но не использует 9-зонное масштабирование, можно установить progress_mc или fullness_mc при помощи любого из методов, используемых для компонентов пользовательского интерфейса для воспроизведения FLV-файлов. Дополнительную информацию см. в разделе .

Так как регулятор громкости в обложках Flash не поддается масштабированию, он построен тем же образом, что и компонент VolumeBar пользовательского интерфейса для воспроизведения FLV-файлов. Дополнительную информацию см. в разделе «Компоненты SeekBar и VolumeBar» на странице 164. Исключением является маркер, который реализован по-другому.

Маркеры SeekBar и VolumeBar

Маркеры SeekBar и VolumeBar расположены в слое макета рядом со строкой. По умолчанию левое поле, правое поле и положение по оси y маркера задаются на основе его положения относительно фрагмента ролика строки. Левое поле определяется разницей между положением x (по горизонтали) маркера и положением x (по горизонтали) строки, а правое поле равно левому полю. Эти значения можно настроить при помощи ActionScript во фрагменте ролика SeekBar или VolumeBar. В следующем примере приведен тот же код ActionScript, который используется с компонентами пользовательского интерфейса для воспроизведения FLV-файлов:

this.seekBar_mc.handleLeftMargin = 2; this.seekBar_mc.handleRightMargin = 2; this.seekBar_mc.handleY = 11;

Этот код можно вставить либо на временную шкалу фрагмента ролика SeekBar, либо вместе с другим кодом ActionScript на основную временную шкалу. Если настройка выполняется при помощи кода, а не за счет изменения макета, нет необходимости помещать маркер в рабочую область. Достаточно того, чтобы он присутствовал в библиотеке и был настроен на экспорт для ActionScript в Кадр 1 с правильным именем класса.

Не взирая на эти свойства маркеры являются простыми фрагментами роликов, устроенными таким же образом, что и маркеры в компонентах пользовательского интерфейса для воспроизведения FLV-файлов. Оба имеют фоновые прямоугольники со свойством alpha установленным на 0. Они служат для увеличения области попадания и не являются обязательными.

Ролики фона и основного цвета

Фрагменты роликов chrome_mc и forwardBackBorder_mc реализованы как ролики фона.

Из фрагментов роликов ForwardBackBorder, ForwardBorder и BackBorder в рабочей области и кнопок- местозаполнителей Forward и Back единственным роликом, не расположенным в слое направляющих, является ForwardBackBorder. Фактически кнопки Forward и Back используются только в обложках.

Единственным требованием к этим роликам является то, что для них должен быть задан экспорт для

ActionScript в Кадр 1 в библиотеке.

Изменение поведения обложек

Свойство bufferingBarHidesAndDisablesOthers и свойство skinAutoHide позволяют настроить поведение обложки компонента FLVPlayback.

Установка свойства bufferingBarHidesAndDisablesOthers на значение true заставляет компонент FLVPlayback скрыть SeekBar и его маркер, а также отключить кнопки воспроизведения и паузы, когда компонент входит в состояние буферизации. Это полезно при потоковой передаче FLV-файла с FMS при медленном подключении с высоким значением свойства bufferTime (10, например). В такой ситуации нетерпеливый пользователь может начать нажимать на кнопки воспроизведения и паузы, еще больше замедляя воспроизведение файла. Такие действия можно предотвратить, установив bufferingBarHidesAndDisablesOthers на значение true и отключив элемент SeekBar, а также кнопки воспроизведения и паузы на время пребывания компонента в режиме буферизации.

Свойство skinAutoHide влияет только на SWF-файлы предустановленных обложек, а не на элементы управления, созданные из компонентов пользовательского интерфейса для воспроизведения FLV-файлов. Если это свойство имеет значение true, компонент FLVPlayback скрывает обложку, когда указатель мыши не находится в пределах области просмотра. Значением по умолчанию этого свойства является false.

Источник: Использование компонентов ActionScript 3.0 – 2008

По теме:

  • Комментарии