Використання вбудованих звуків замість завантаження звуків із зовнішнього файлу найбільше підходить для невеликих файлів, які використовуються в якості індикаторів в інтерфейсі додатка, наприклад звуки, що відтворюються при натисканні кнопок.
Коли аудіофайл вбудовується в додаток, розмір отриманого SWF-файлу збільшується на розмір вбудованого файлу. Іншими словами, вбудовування великих звукових файлів в додаток може привести до небажаного збільшення розміру SWF-файлу.
Вибір методу вбудовування аудіофайлу в SWF-файл програми залежить від середовища розробки.
Використання вбудованих звукових файлів у Flash
Інструмент розробки Flash дозволяє імпортувати звуки в різних форматах і зберігати їх у вигляді символів в бібліотеці. Після цього звуки можна додавати в кадри на часовій шкалі або в кадри стану кнопки, використовувати їх для поводжень або безпосередньо в коді ActionScript. У цьому розділі описується, як використовувати звуки, вбудовані в код ActionScript за допомогою інструменту розробки Flash. Відомості про інші способи використання вбудованих звуків Flash см. В розділі «Імпорт звуків» керівництва Використання Flash.
Вбудовування аудіофайлу за допомогою інструменту розробки Flash
Виберіть команди «Файл»> «Імпорт»> «Імпортувати в бібліотеку», а потім вкажіть аудіофайл і імпортуйте його.
Клацніть правою кнопкою миші ім'я імпортованого файлу на панелі «Бібліотека» і виберіть «Властивості». Встановіть прапорець «Експорт для ActionScript».
В поле «Клас» введіть ім'я, яке буде використовуватися при посиланні на даний вбудований звук в ActionScript. За замовчуванням буде використовуватися ім'я аудіофайлу, вказане в цьому полі. Якщо в імені файлу є точка, як в імені «DrumSound.mp3», його необхідно змінити, наприклад, «DrumSound»; код ActionScript не допускає використання точок в імені класу. В поле «Базовий клас» повинен відображатися клас flash.media.Sound.
Натисніть кнопку «ОК». Можливо, з'явиться повідомлення про те, що цей клас не знайдений в шляху до класів. Натисніть кнопку «ОК», щоб продовжити. Якщо ви ввели ім'я класу, що не відповідає жодному з класів в шляху до класів додатки, автоматично створюється новий клас, що успадковує методи і властивості класу flash.media.Sound.
Щоб використовувати вбудований звук, вкажіть його ім'я класу в ActionScript. Наприклад, наступний код в першу чергу створює новий екземпляр автоматично створеного класу DrumSound.
Клас DrumSound є підкласом класу flash.media.Sound і тому успадковує його методи і властивості, включаючи метод play (). як показано вище.
Використання вбудованих звукових файлів у Flex
Існує багато способів вбудовування звукових ресурсів в додаток Flex, включаючи наступні:
використання в сценарії тега метаданих [Embed];
використання інструкції @Embed в MXML для призначення вбудованого ресурсу в якості властивості такого компонента, як Button або SoundEffect;
використання інструкції @Embed в CSS-файлі.
У цьому розділі описується перший варіант, тобто вбудовування звуків в код ActionScript додатки Flex за допомогою тега метаданих [Embed].
Щоб вбудувати ресурс в код ActionScript, використовуйте тег метаданих [Embed].
Помістіть звуковий файл в основний вихідної папці або в іншій папці, включеної в шлях збірки проекту. Коли компілятор виявить тег метаданих Embed, він створить клас вбудованих ресурсів. Звернутися до класу можна через змінну типу даних Class, оголошену відразу після тега метаданих [Embed].
Наступний код вбудовує звук з ім'ям smallSound.mp3 і використовує змінну soundClass для зберігання посилання на клас вбудованих ресурсів, пов'язаний з цим звуком. Потім код створює екземпляр класу вбудованих ресурсів, передає його в якості примірника класу Sound і викликає для нього метод play ().
Щоб вбудований звук можна було використовувати в якості значення властивості компонента Flex, він повинен бути переданий в якості примірника класу mx.core.SoundAsset, а не класу Sound. Подібний приклад використання класу SoundAsset см. В розділі «Класи вбудованих ресурсів» в документі «Вивчення ActionScript 3.0».
Інші теми довідки