FlashDevelop: рекомендуемый способ загрузки / воспроизведения звуковых файлов - PullRequest
2 голосов
/ 09 марта 2011

Я не уверен, является ли это FlashDevelop или общим вопросом ActionScript3, однако я пытаюсь найти лучший способ добавить звуковые файлы в мой проект flashdevelop.

Например, я обнаружил, что если я помещаю файлы .mp3 в папку bin моего проекта, я могу загрузить / воспроизвести их с помощью следующих строк кода

var sndreq:URLRequest = new URLRequest("foo.mp3");
var sound:Sound = new Sound();
sound.load(sndreq);
sound.play();

Кажется, что довольно тяжело переместить все мои звуковые файлы в каталог bin моего проекта (но если это то, что нужно, так тому и быть). Я вижу, что есть опция «добавить в библиотеку», когда я щелкаю правой кнопкой мыши по своим медиа-файлам, но я не уверен, каков эффект этого (я надеялся, что это означало, что это будет автоматически скопировано в каталог bin проекта, но нет такой удачи).

Итак, мой вопрос: если у меня есть только flashdevelop, а не Flash CS3 / 4, это рекомендуемый способ загрузки локальных звуковых файлов?

Ответы [ 2 ]

4 голосов
/ 12 марта 2011

Первая часть вашего вопроса - это простая проблема прохождения пути, как отмечено в посте выше.Мне нравится создавать структуру файлов для всех ваших динамически загружаемых ресурсов (xml, изображений, звуков) и т. Д. Содержит каталог bin в чистоте и порядке.

Большой вопрос - встраивание и загрузка ресурсов во время выполнения.Я уже не раз приходил к завершению проекта и обнаруживал, что мой единственный SWF-файл (со всеми вложенными ресурсами) вырос довольно большой и теперь требует длительной предварительной загрузки.Это может облегчить жизнь вам, как разработчику, но не очень приятно для конечного пользователя.

В наши дни моя любимая практика - встраивать только контент, необходимый для первоначального запуска приложения, а затем максимально скрывать загрузку остальных ресурсов.Не заставляйте пользователей ждать, пока вы увидите вашу удивительную работу!

Я на самом деле использую flash ide для упаковки наборов ресурсов, которые я публикую как swfs (хотя вы можете сделать то же самое с помощью встраивания FD).Я нацеливаю эти SWF-файлы во время выполнения и извлекаю классы из домена приложения.Я в основном строю микросайты и склоняюсь разбивать разделы контента («страницы») на загружаемые swfs.После загрузки целевого SWF-файла страница становится доступной для навигации.

Альтернативный способ - использовать что-то вроде BulkLoader или, что еще лучше, LoaderMax от Greensock (имеет отличные функции очереди) для загрузки отдельных ресурсов.

Надеюсь, это поможет.Ура!

2 голосов
/ 09 марта 2011

Если вы используете только FlashDevelop, у вас есть два варианта.Вы можете встраивать ресурсы во время компиляции, чтобы они были упакованы, используя оператор [embed ...].

http://www.bit -101.com / blog /? P = 853

Также обратите внимание, что в FlashDevelop вы можете щелкнуть правой кнопкой мыши ресурс и нажать «Вставить в документ », который автоматически напишет для вас строку для встраивания.

В качестве альтернативы вы можете загружать ресурсы во время выполнения.Таким образом, используя метод URLRequest, как вы сейчас.Но вы не ограничены каталогом bin.Вы можете:

new URLRequest("../../../../../foo.mp3");
// or
new URLRequest("www.stackoverflow.com/fakeresources/foo.mp3");

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

В целом, если вам не нужна динамика, вставляйте ресурсы.

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