Створення flash відео плеєра

При написанні плеєра я буду використовувати Adobe Flash CS4 і Action Script 3.
Для початку нам необхідний дизайн плеєра. Його можна придумати самому або взяти готовий. Я вибрав другий варіант і знайшов дизайн на сайті 365psd.com і трохи його змінив.
Далі вирізаємо елементи управління. У моєму випадку це кнопка розгортання на весь екран, кнопки відтворення і гучності. Паузу і кнопку відключеного звуку я домалював сам. Смугу перемотування і її заднього фону я намалював свої.

Крок 1: Підготовка

Приступимо до коду.
Створимо новий проект в Adobe Flash. Перемістимо всі наші елементи управління (кнопки гучності, паузи, відтворення.) На сцену. Перетворюємо все кнопки в символи - кнопки (правою кнопкою миші по картинці - перетворити в символ - вводимо назву і вибираємо в випадаючому меню пункт «Кнопка»). Так само при перетворенні в символ відзначаємо галкою «Експорт для ActionScript»:

Створення flash відео плеєра

Плеєр з масиву FlashVars буде отримувати YouTube ID ролика і його відтворювати всередині плеєра.

Крок другий: перші рядки

До першого кадру додаємо наступний код:

Крок 3: Обробники

У моєму випадку мені потрібно 11 обробників подій. Якщо ви додаєте інші елементи управління, то у вас їх буде інша кількість.
Перший обробник, і, напевно, найголовніший - onLoaderInit. він служить для визначення завантаження файлу www.youtube.com/apiplayer?version=3 з яким ми і будемо далі працювати. Я ж в нього додав завдання всіх атрибутів для елементів і їх додавання на сцену. Мій код наступний:

Наступна функція: функція яка виконатися при готовності нашого API. Її код досить простий:

Наступна функція: відтворення і зупинка на паузу:

Наступна функція - розгортання на весь екран і згортання:

У цій функції ми в залежності від режиму (на весь екран або ж немає) задаємо нові властивості для елементів і міняємо розмір програвача.

Далі я писав перемотування:

Далі перемикання якості:

Наступну функцію я написав для таймера:

Ця функція частково повторює перемотування. У цій я поміняв пару змінних, інше залишилося майже таким же.

Ця функція відповідає за кінець і початок ролика. Вона досить проста.

Далі я додав зупинку і продовження при натисканні на пробіл:

Код повністю повторює обробник для кнопки «Пауза» і «Відтворення».

Далі я взявся за налагодження плеєра. Все працювало добре, однак якщо розгорнути на весь екран плеєр і потім натиснути на клавішу «Esc» то ролик зменшувався, але розміри і атрибути елементів не змінювалися. Для вирішення цієї проблеми була дописана функція:

Ця функція так само майже повністю копіює функцію згортання плеєра.

завершення

На завершення я докладу два скріншота отриманого плеєра: на весь екран і в «згорнутому» вигляді.
«Згорнута»:

Створення flash відео плеєра

На весь екран:
Створення flash відео плеєра

Якщо у вас виникнуть побажання, поради або уточнення - буду раз їх вислухати.

Так само посилання на додаткові матеріали по YouTube API: