![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 35
|
Здравствуйте! У меня есть две проблемы с NSStream.
Во первых мне необходимо узнать длину аудио ролика который проигрывается с помощью nsstream В браузере мой код почему то работает только после проигрывания аудио файла. Если запустить в флеш плеере, то все ок. Запускать на сервере пробовал, та же беда. audioObj.client.onMetaData = function(infoObject:Object) { audioObjLength = infoObject["duration"]; }; Вторая проблема состоит в том что аудио ролик повторно не проигрывается если подождать примерно 1-2 минуты после проигрывания. С чем это может быть связанно? Я использую Stimuli Bulk Loader для загрузки аудио. Кнопку проигрывания показываю только после полной загрузки ролика. Возможно ли что NSStream "теряет" данные??? Последний раз редактировалось gerasim13; 28.02.2011 в 03:53. Причина: Нашел еще одну проблему связанную с NSStream |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 35
|
нет, ошиблись вы.
Добавлено через 32 секунды 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();}}); } |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 35
|
Неужели никто не работал с netstream? Наверняка есть способ узнать длительность файла если не срабатывает onMetaData
|
|
|||||
|
вообще по опыту в метаДате много чего не бывает, но не встречал метаДату без длины(хотя, не исключаю, что может быть и такой вариант).
1 - не вижу где назначился клиент потоку 2 - попробуйте итератором просмотреть вообще все, что отдается в метадате.
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 35
|
Спасибо. Разобрался.
Есть еще одна проблема связанная с очисткой буфера. Могу ли я запретить выполнение NetStream.Buffer.Flush ? Если нет, то как лучше сделать так что бы ролик повторно проигрывался? |
|
|||||
|
Modus ponens
|
Нет, не можете запретить, а даже если бы и могли - то зачем? Это вам дают сообщеение о том, что содержимое буфера отдали проигрываться, и теперь буфер пустой, ну вы можете отказаться от получения этого сообщения - и что?
Что касается длины аудио или видео или чего бы то ни было загружаемого из потока - вы никогда не можете знать наперед, на то и поток! Вы можете записать в метаданные, что поток прекратится через Х байт, а можете рассчитать неправильно, например. Кроме того поток вообще не обязан иметь предел и может продолжаться до бесконечности - как вы такое опишите? Другое дело если вам нужно загрузить файл, у файла всегда оговорен размер.
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:21. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|