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

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

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

Регистрация: Jul 2008
Сообщений: 35
По умолчанию Несколько проблем с NSStream при проигрывании аудио

Здравствуйте! У меня есть две проблемы с NSStream.
Во первых мне необходимо узнать длину аудио ролика который проигрывается с помощью nsstream

В браузере мой код почему то работает только после проигрывания аудио файла. Если запустить в флеш плеере, то все ок. Запускать на сервере пробовал, та же беда.
Код AS3:
audioObj.client.onMetaData = function(infoObject:Object)
{
   audioObjLength = infoObject["duration"];
};
Как достать длительность файла перед проигрыванием?

Вторая проблема состоит в том что аудио ролик повторно не проигрывается если подождать примерно 1-2 минуты после проигрывания. С чем это может быть связанно?
Я использую Stimuli Bulk Loader для загрузки аудио. Кнопку проигрывания показываю только после полной загрузки ролика. Возможно ли что NSStream "теряет" данные???


Последний раз редактировалось gerasim13; 28.02.2011 в 03:53. Причина: Нашел еще одну проблему связанную с NSStream
Старый 28.02.2011, 03:38
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Вы форумом ошиблись вам в АС2

Старый 28.02.2011, 03:44
gerasim13 вне форума Посмотреть профиль Отправить личное сообщение для gerasim13 Найти все сообщения от gerasim13
  № 3  
Ответить с цитированием
gerasim13

Регистрация: Jul 2008
Сообщений: 35
нет, ошиблись вы.

Добавлено через 32 секунды
Код AS3:
private function onAllLoaded(evt:Event):void
		{
			iswearAudio = loader.getNetStream(audioFile);
			iswearAudio.addEventListener(NetStatusEvent.NET_STATUS,audioSwitch);
			iswearAudio.client.onMetaData = function(infoObject:Object)
			{
				iswearAudioLength = infoObject["duration"];
			};
			TweenLite.to(iswearLoading,0.4,{blurFilter:{blurY:10,blurX:5},y:iswearLoading.y - 10,alpha:0,ease:Circ.easeOut,onComplete:function(){removeChild(iswearLoading);onAudioLoaded();}});
		}

Старый 04.03.2011, 07:06
gerasim13 вне форума Посмотреть профиль Отправить личное сообщение для gerasim13 Найти все сообщения от gerasim13
  № 4  
Ответить с цитированием
gerasim13

Регистрация: Jul 2008
Сообщений: 35
Неужели никто не работал с netstream? Наверняка есть способ узнать длительность файла если не срабатывает onMetaData

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
вообще по опыту в метаДате много чего не бывает, но не встречал метаДату без длины(хотя, не исключаю, что может быть и такой вариант).

1 - не вижу где назначился клиент потоку
2 - попробуйте итератором просмотреть вообще все, что отдается в метадате.
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 08.03.2011, 03:02
gerasim13 вне форума Посмотреть профиль Отправить личное сообщение для gerasim13 Найти все сообщения от gerasim13
  № 6  
Ответить с цитированием
gerasim13

Регистрация: Jul 2008
Сообщений: 35
Спасибо. Разобрался.

Есть еще одна проблема связанная с очисткой буфера.
Могу ли я запретить выполнение NetStream.Buffer.Flush ?
Если нет, то как лучше сделать так что бы ролик повторно проигрывался?

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Нет, не можете запретить, а даже если бы и могли - то зачем? Это вам дают сообщеение о том, что содержимое буфера отдали проигрываться, и теперь буфер пустой, ну вы можете отказаться от получения этого сообщения - и что?
Что касается длины аудио или видео или чего бы то ни было загружаемого из потока - вы никогда не можете знать наперед, на то и поток! Вы можете записать в метаданные, что поток прекратится через Х байт, а можете рассчитать неправильно, например. Кроме того поток вообще не обязан иметь предел и может продолжаться до бесконечности - как вы такое опишите? Другое дело если вам нужно загрузить файл, у файла всегда оговорен размер.
__________________
Hell is the possibility of sanity

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

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

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


 


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


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