Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.03.2012, 11:26
Андрей911 вне форума Посмотреть профиль Отправить личное сообщение для Андрей911 Найти все сообщения от Андрей911
  № 1  
Ответить с цитированием
Андрей911
 
Аватар для Андрей911

Регистрация: Jun 2011
Сообщений: 127
По умолчанию Ошибка 2084 Кодировка AMF аргументов не может превышать 40K

Привет, друзья!
Сделали флешку в которой можно озвучить анимированного персонажа (the_man) и он потом говорит голосом пользователя. Персонаж сделан отдельным swf файлом из которого он потом загружается на сцену.
Код AS3:
var loader_Info:LoaderInfo=e.target as LoaderInfo;
var the_man:MovieClip=loader_Info.content as MovieClip;
После озвучивания всех действий звуковые данные кодируются в mp3 и предаются в ролик the_man, где они хранятся в виде объекта.
Код AS3:
var actions:Object={
"Строковый ключ 1" : Звук 1 как ByteArray, "Строковый ключ 2" : Звук 2 как ByteArray, ........................................................... "засмеяться": (как ByteArray), "заплакать": (как ByteArray), "мате
риться": (как ByteArray) }
Потом при выполнении действий персонажем включаются нужные звуки. Например когда персонаж засмеялся, то
Код AS3:
var voice:ByteArray=actions["засмеяться"];
var voice_sound:Sound=new Sound();
voice_sound.loadCompressedDataFromByteArray(voice,voice.length);
voice_sound.play();
При этом the_man смеется как и положено настоящему мужчине. Но вот если включить звук смеха во второй, третий и т.д. раз, то выскакивает ошибка - "Ошибка 2084 Кодировка AMF аргументов не может превышать 40K". Аналогично и другие звуки проигрываются только по 1 разу, а потом выдается эта ошибка.
В чем может быть дело и куда копать?

Старый 03.03.2012, 14:03
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 2  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
Вы, вероятно, грузите 2 раза в один и тот же саунд
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 03.03.2012, 14:51
Андрей911 вне форума Посмотреть профиль Отправить личное сообщение для Андрей911 Найти все сообщения от Андрей911
  № 3  
Ответить с цитированием
Андрей911
 
Аватар для Андрей911

Регистрация: Jun 2011
Сообщений: 127
Нет Sound каждый раз новый.

Разобрался методом тыка как устранить проблему. Надо было каждый раз ставить позицию ByteArray в ноль. Тогда работает.
Код AS3:
var voice:ByteArray=actions["засмеяться"];
voice.positon=0;
var voice_sound:Sound=new Sound();
voice_sound.loadCompressedDataFromByteArray(voice,voice.length);
voice_sound.play();
Но что за странная ошибка такая и при чем тут "Кодировка AMF аргументов не может превышать 40K" до сих пор так и не понял. Единственное что нашел в поиске - это то что больше чем 40Кб нельзя передать через LocalConnection. Что вообще за "магическая" цифра такая и при чем она в моем случае?

Старый 03.03.2012, 14:51
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Такая ошибка возникает при пересылке чего-нибудь через LocalConnection - там, действительно, нельзя за раз переслать больше. Вы уверены, что это в вашем коде, а не где-то в другом месте?

А. ОК, не видел ваш ответ выше.
__________________
Hell is the possibility of sanity

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:49.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.