Можно ли воспроизводить звук из библиотеки по имени, а не по классу Linkage в actionscript3 ?? Если у меня есть звук с именем «mysound.mp3» в библиотеке и не имеет имени ссылки, могу ли я воспроизвести его динамически в своем коде любым способом? Надеюсь, мой вопрос ясен.Воспроизведение звука из библиотеки по его названию в ActionScript3
ответ
В общем, это невозможно, потому что, если вы не используете свой звук на какой-то временной шкале, он даже не будет экспортирован в swf.
Если вы используете его на временной шкале (поэтому он экспортируется в swf), его можно извлечь во время выполнения с помощью сторонних библиотек/декомпиляторов as3 путем анализа необработанных байтов swf, но я не советую идти с этим - это нестабильно и системные ресурсы потребляют.
Гораздо проще установить связь, кстати, почему вы не хотите этого делать?
Если вы хотите динамически создать экземпляр класса, вы должны называть его его AS Linkage. Зачем действовать иначе?
Как продолжить?
Щелкните правой кнопкой мыши звуковой файл в своей библиотеке и сделайте его доступным для ActionScript, отредактировав его свойства Linkage: выберите Linkage, чтобы открыть окно привязки> ActionScript> ActionScript Linkage: MySound (выберите Export for ActionScript и Export в кадре 1). Это будет экспортировать ваш звуковой файл в качестве класса ActionScript под названием MySound.
Вы также можете выбрать Linkage из меню Library Panel и создать или изменить ваш AS Увязка:
Таким образом, вы можете создать новый экземпляр вашей звуковой класса и его воспроизведения:
var s:MySound = new MySound();
s.play();
Я знаю это, но я не хочу назначать ASLinkage. Я хочу динамически генерировать ASLinkage через мой код! – Bhaijaan
Поскольку добавление имени ссылки для мувиклипов или звуков не разрешено для загружаемых извне swfs в приложениях ios ... – Bhaijaan
, тогда вы можете создавать клипы для перемещения и размещать звуки на временной шкале, а также управлять воспроизведением звука методами _MovieClip_ _play/stop/gotoAndPlay_, давать имя ссылки на эти клипы, так что вы можете создать их во время выполнения – fsbmain