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

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

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

Регистрация: Mar 2010
Адрес: 54.713862552265084 = 20.442724227905273
Сообщений: 449
Отправить сообщение для stweet с помощью Skype™
По умолчанию NetStream и rtmp://

Не могу разрешить один интересный момент.
Буду очень признателен за помощь.

В подключении через "http://" я использовал в качестве просмотра прогресса загрузки видео файла "bytesTotal" и "bytesLoaded", переводил в "продолжительность времени" и выводил пользователям.

А вот с подключением через "rtmp://" возникли сложности, "bytesTotal" и "bytesLoaded" выводят по "0".
Воспользовался "bufferLength" и "bufferTime" а т.е. перед выводом загруженного материала я использовал такой код:
Код AS3:
public function get buffer( ):Number
{
	if (_buffer == _duration) return _buffer;
	if (ns.bufferTime < _duration) _buffer = ns.bufferTime ++;
	else if (ns.bufferTime > _duration) _buffer = _duration;
	return _buffer;
}
из кода видно что я постоянно увеличивал "bufferTime" не смотря на то что в справке Adobe указывается "bufferTime" как время до начала показа видео файла, т.е. используется как "время загрузки перед началом воспроизведения файла".

При срабатывании события "NetStream.Buffer.Empty" я изменял переменную "ns.bufferTime" и присваивал ей первоначальное значение(пусть будит 20мс). После события "NetStream.Buffer.Full" я присваивал значение "ns.bufferLength + ns.time" переменой "ns.bufferTime" и продолжал воспроизведение видео файла повторяя все выше указанные действия.

Вот от сюда и возникли трудности.

Вопрос: есть ли какой нибудь более подходящий способ считывать количество загруженного материала в буфере, в случае если я поступаю не правильно.

Может у кого есть исходник как пример временной шкалы видео файла, или совет как сделать правильно.
Буду очень признателен за помощь.

В исходниках сети что то не могу найти подходящего варианта, а т.е. в случае с подключением rtmp вообще не нашёл, может так искал?! но тем ни имение пишу тут.

Добавлено через 3 часа 47 минут
Ещё наткнулся на один момент:

Если я используя протокол "rtmp" проигрываю уже готовый видео файл, "onMetaData" в "ns.client" выводит окончательное время файла "onMetaData.duration", а при проигрывании прямого эфира "нет", ну это и логично, ни сервер ни клиент не может знать об окончании записи файла. Тут выход один, не выводить вообще прогресс загрузки файла или всё же ... может есть способ показать количество данных загруженных в настоящий момент в кэш? "bufferLength" в данном случае не помогает, т.е. фиксирует только при старте, далее стоит в исходном значении.

Интересно, вот плеер на ютюбе выводит и кэш и прогресс и есть возможность воспроизведения с любой секунды, вроде бы то что нужно и работает по протоколу rtmp но, он работает не в прямом эфире.

У меня в задаче сделать и плей лист и прямой эфир, тут уже прибегаю к совету знатоков!
В данной ситуации, включая вышеуказанные манипуляции, лучше сделать 2 вида подключения?
К примеру "LiveStream" и "FileStream".

Почему прибегаю к совету, создавая 2 класса вынуждает на множественный повторяющийся код, а на создание одного универсального класса что то мозгов не хватает т.е. всплывает много подводных камней.

Может у кого-то есть уже готовое решение, было бы круто!

Добавлено через 13 часов 14 минут
Я так понимаю что, первый кто с этим столкнулся?! =)
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь!

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

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

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


 


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


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