2015-01-02 1 views
0

Можно ли воспроизводить звук из библиотеки по имени, а не по классу Linkage в actionscript3 ?? Если у меня есть звук с именем «mysound.mp3» в библиотеке и не имеет имени ссылки, могу ли я воспроизвести его динамически в своем коде любым способом? Надеюсь, мой вопрос ясен.Воспроизведение звука из библиотеки по его названию в ActionScript3

ответ

0

В общем, это невозможно, потому что, если вы не используете свой звук на какой-то временной шкале, он даже не будет экспортирован в swf.

Если вы используете его на временной шкале (поэтому он экспортируется в swf), его можно извлечь во время выполнения с помощью сторонних библиотек/декомпиляторов as3 путем анализа необработанных байтов swf, но я не советую идти с этим - это нестабильно и системные ресурсы потребляют.

Гораздо проще установить связь, кстати, почему вы не хотите этого делать?

+0

Поскольку добавление имени ссылки для мувиклипов или звуков не разрешено для загружаемых извне swfs в приложениях ios ... – Bhaijaan

+1

, тогда вы можете создавать клипы для перемещения и размещать звуки на временной шкале, а также управлять воспроизведением звука методами _MovieClip_ _play/stop/gotoAndPlay_, давать имя ссылки на эти клипы, так что вы можете создать их во время выполнения – fsbmain

0

Если вы хотите динамически создать экземпляр класса, вы должны называть его его AS Linkage. Зачем действовать иначе?

Как продолжить?

Щелкните правой кнопкой мыши звуковой файл в своей библиотеке и сделайте его доступным для ActionScript, отредактировав его свойства Linkage: выберите Linkage, чтобы открыть окно привязки> ActionScript> ActionScript Linkage: MySound (выберите Export for ActionScript и Export в кадре 1). Это будет экспортировать ваш звуковой файл в качестве класса ActionScript под названием MySound.

Вы также можете выбрать Linkage из меню Library Panel и создать или изменить ваш AS Увязка:

enter image description here

Таким образом, вы можете создать новый экземпляр вашей звуковой класса и его воспроизведения:

var s:MySound = new MySound(); 
s.play(); 
+0

Я знаю это, но я не хочу назначать ASLinkage. Я хочу динамически генерировать ASLinkage через мой код! – Bhaijaan