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

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

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

Регистрация: May 2004
Сообщений: 136
Отправить сообщение для B0Bka с помощью ICQ
По умолчанию прелоадер для flv видео

в хелпе есть такой пример прелоадера видео:

Код:
Example
The following example creates a progress bar using the Drawing API and the bytesLoaded and bytesTotal properties that displays the loading progress of video1.flv into the video object instance called my_video. A text field called loaded_txt is dynamically created to display information about the loading progress as well. 

var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);
stream_ns.play("video1.flv");

this.createTextField("loaded_txt", this.getNextHighestDepth(), 10, 10, 160, 22);
this.createEmptyMovieClip("progressBar_mc", this.getNextHighestDepth());
progressBar_mc.createEmptyMovieClip("bar_mc", progressBar_mc.getNextHighestDepth());
with (progressBar_mc.bar_mc) {
    beginFill(0xFF0000);
    moveTo(0, 0);
    lineTo(100, 0);
    lineTo(100, 10);
    lineTo(0, 10);
    lineTo(0, 0);
    endFill();
    _xscale = 0;
}
progressBar_mc.createEmptyMovieClip("stroke_mc", progressBar_mc.getNextHighestDepth());
with (progressBar_mc.stroke_mc) {
    lineStyle(0, 0x000000);
    moveTo(0, 0);
    lineTo(100, 0);
    lineTo(100, 10);
    lineTo(0, 10);
    lineTo(0, 0);
}

var loaded_interval:Number = setInterval(checkBytesLoaded, 500, stream_ns);
function checkBytesLoaded(my_ns:NetStream) {
    var pctLoaded:Number = Math.round(my_ns.bytesLoaded/my_ns.bytesTotal*100);
    loaded_txt.text = Math.round(my_ns.bytesLoaded/1000)+" of "+Math.round(my_ns.bytesTotal/1000)+" KB loaded ("+pctLoaded+"%)";
    progressBar_mc.bar_mc._xscale = pctLoaded;
    if (pctLoaded>=100) {
    clearInterval(loaded_interval);
    }
}


Последний раз редактировалось B0Bka; 27.11.2007 в 12:05.
Старый 27.11.2007, 12:04
B0Bka вне форума Посмотреть профиль Отправить личное сообщение для B0Bka Найти все сообщения от B0Bka
  № 2  
Ответить с цитированием
B0Bka
 
Аватар для B0Bka

Регистрация: May 2004
Сообщений: 136
Отправить сообщение для B0Bka с помощью ICQ
как все же заставить видео сначала скачаться а потом воспроизвестись... даже если оно стримовое, в приведенном примере, видео все равно скачивает какой-то объем и воспроизводит его (не дождавшись конца загрузки).

Старый 27.11.2007, 15:43
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 3  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
Если в потоковом видео, которое ты качаешь есть метаданные, то присвой размеру буфера длину скачиваемого видео.

Код:
var duration:Number;

stream_ns.onMetaData = function(myMeta){
	trace(myMeta['duration']);
	duration = Number(myMeta['duration']);
	stream_ns.setBufferTime(duration);
};

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

Регистрация: May 2004
Сообщений: 136
Отправить сообщение для B0Bka с помощью ICQ
alekslitvinenk ага, была такая идея, только не знал как получить длительность до воспроизведения файла, думал пока я получу duration файл уже начнет проигрывать и я не успею выставить значение setBufferTime для потока, спасибо за этот код, попробую

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

Регистрация: May 2004
Сообщений: 136
Отправить сообщение для B0Bka с помощью ICQ
да, все работает замечательно, спасибо...

з.ы. уже проблема нийти узкий инет канал для проверки загрузки.
и simulate download не помогает, флэшплеер кеширует куда-то в себя видео, не в курсе как сбросить кэш у него?

Старый 30.11.2007, 01:52
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 6  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
Сбросить кеш у флеша можно либо через сайт адоб, либо с помощью контекстного меню флеша.
А разве нельзя ограничить скорость собственного канала для проверки ?

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

Регистрация: May 2004
Сообщений: 136
Отправить сообщение для B0Bka с помощью ICQ
наверно можно какими-нибудь программами или фаерволами но я не знаю таких (если что-то есть такое подскажи)
з.ы. программно кэш не сбрасывается? (чтобы его сразу при запуске флэшки отчищать)

Старый 30.11.2007, 02:08
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 8  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
Неуверен, что кеш автоматически очищаеться, поэтому лучше каждый раз вручную чистить...А почему собственно SimulateDownload не подходит ?

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

Регистрация: May 2004
Сообщений: 136
Отправить сообщение для B0Bka с помощью ICQ
Цитата:
Сообщение от alekslitvinenk
...А почему собственно SimulateDownload не подходит ?
первый раз при компиляции (crtl+enter) все ок, но т.к. файл локально, он быстро загружается и начинает воспроизводиться, а когда нажимаешь второй раз ctrl+enter == SimulateDownload, то он его уже не грузит, т.е. он эмулирует загрузку самой флэшки - плеера, а вот видео у него уже в кэше и он его сразу воспроизводит. (по крайней мере у меня такое впечатление возникает)

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

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

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


 


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


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