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

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

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
А при чем тут вообще try-catch? У тебя же IO_Error выскакивает, вот не него и подписуйся.

Добавлено через 1 минуту
Сниффером смотрел? Файлы нормально отдаются?
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 01.06.2011, 19:08
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 12  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Да не суть.
Нет, сниффером не смотрел, но, судя по тому, что, если помедленнее переключать песни — все нормально, то логично предположить, что и файлы отдаются нормально. Если я не прав, укажи, пожалуйста, каким сниффером пользоваться для win7, а то все, что я только что перепробовал, для ХРюшки и ниже, конфликтуют даже в режиме совместимости.

Да, вот мне тут подсказали, что можно попробовать подписаться на SampleDataEvent.SAMPLE_DATA и дожидаться окончания прихода пакета (правильно же смысл этого события истолкован?). Что я и сделал, по нажатию на кнопку следующего трека, я закрываю поток SOund, подписываюсь на событие. Оно срабатывает, я убиваю звук совсем и запускаю новый. Эти действия ничего не изменили вообще.

Добавлено через 8 минут
Неужто придется писать свой Sound под эту задачу? Sound + SounChannel + NetStream. Правда я пока смутно представляю, как там отдавать пакеты Sound#extract().
__________________
тут я


Последний раз редактировалось КорДум; 01.06.2011 в 19:10.
Старый 01.06.2011, 19:23
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 13  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Достаточно и FireBug, если надо что-то помощнее, попробуй Wireshark (правда я его на семерке не пробовал вроде еще в 2009-м добавили совместимость с семеркой).
__________________
משיח לא בא
משיח גם לא מטלפן


Последний раз редактировалось alatar; 01.06.2011 в 19:28.
Старый 01.06.2011, 19:33
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 14  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Значит, посмотрел по файрбагу. Не успевает закрыть нетСтрим, похоже. Если быстро нажимать, то первый закрывается, второй и третий уже нет, а на четвертом сервер отдает 503 Service Temporarily Unavailable. Вот так.
__________________
тут я

Старый 01.06.2011, 19:45
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 15  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Ну поставь задержку на переключение. Типа: юзер клацнул на кнопку, увеличили счетчик композиции и ждем, например, секунду на случай если передумает и клацнет еще раз. И только тогда начинаем грузить.

Хотя возможно, ты пытаешься закрыть поток, который еще не был открыт. Как раз возникает IO_Error/

Добавлено через 2 минуты
Хотя нет. Тогда была бы ошибка 2029 «Объект URLStream не имеет открытого канала»
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 01.06.2011, 19:49
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 16  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
Хотя возможно, ты пытаешься закрыть поток, который еще не был открыт. Как раз возникает IO_Error/
Не-не, все с этим делом в порядке =)
Если только там внутри у Sound не стоит какая-то задержка на создание потока.

А вообще, Алатар, ну бред же ставить таймер... Неужто только таймером придется?

Алгоритм следующий: создали звук, грузим. Нажали на кнопку, закрываем поток, открываем новый, грузим. Нажали на кнопку, закрываем, открываем грузим. Не может же мой палец быть быстрее, чем открытие потока? Ситуация Нажали на кнопку, нажали на кнопку, закрываем, закрываем, открываем, открываем, грузим, грузим быть не должна.
__________________
тут я

Старый 01.06.2011, 19:54
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 17  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Не может же мой палец быть быстрее, чем открытие потока?
Может. Зависит от подключения.
Цитата:
А вообще, Алатар, ну бред же ставить таймер... Неужто только таймером придется?
Почему бред? А если тебе пользователь с тремором попадется и будет жать на все кнопки по 100500 раз. Вполне логично сделать валидацию. Это, все таки, не синхронный код.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 01.06.2011, 19:55
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 18  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Дело в том, что если у сервера или ФП случится какой-то казус, задержки в 1 секунду может не хватить. Или нет?
__________________
тут я

Старый 01.06.2011, 20:01
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 19  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Может. Поэтому и предлагаю подписаться на IO_Error. Плюс, как рекомендуют в хелпе, завернуть close() в try-catch.
Код AS3:
try {
      snd.close();
      button.text = "Wait for loaded stream to finish.";
}
      catch (error:IOError) {
            button.text = "Couldn't close stream " + error.message;    
}
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 01.06.2011, 20:06
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 20  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Вот в чем дело, по коду, а я уже столько дней его муштрую, close() вызывается всегда. Но не всегда он закрывает поток. Вот как я писал выше, если часто клацать, первый поток закроется, второй и третий уже нет. И без РТЕ. Так что никакого IOError не будет. Я уменьшу таймером шанс выпадения ошибки, но не искореню ее совсем.
__________________
тут я

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

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

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


 


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


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