Просмотр полной версии : netConnection();
LUCKY SHAMROCK
22.07.2009, 00:19
Спасибо что тему прикрили переспрашиваю заного..
var file = dataObject.path+dataObject.modelName+"_Welcome.flv";
_global.f = file;
var connection:NetConnection = new NetConnection();
connection.connect(null);
var streaming:NetStream = new NetStream(connection);
main = function () {
my_video.attachVideo(streaming);
streaming.play(_global.f);
streaming.pause(true);
streaming.onStatus = function(getObjects:Object):Void {
if (getObjects.code == "NetStream.Play.Start") {
streaming.pause(false);
delete streaming.onStatus;
}
trace(getObjects.code);
streaming.onMetaData = function(meta:Object):Void {
duration = meta.duration;
trace(duration);
}
checkEnd = setInterval(this, "checkEndStatus", 100);
function checkEndStatus() {
trace(streaming.time); // вот в функции не хочет проигриватца интервал.. почему?
if (streaming.time >= duration) {
clearInterval(checkEnd);
}
}
}
}
вообшем в коде више у меня не срабативает setInterval.. тоесть не трассирует.. где ошибка?
ошибка в setInterval, this. Ведь функция checkEndStatus анонимна и не находится в области видимости this. Вынесите её за пределы main.
LUCKY SHAMROCK
22.07.2009, 01:13
Димарик да я знаю что она работает вне main но вот и хотел чтоби она работала именно в main.. потому что у меня 5 будет таких контейнеров.. нуда ладно я попробую иначе сделать, а вот что касаетца етих строк:
if (getObjects.code == "NetStream.Play.Start") {
streaming.pause(false);
ето означает что клип бил полностю загружен в контейнер и его можна проигривать не так ли? но почему то когда тестирую на сервере то бивает клип прериваетца что должно значить клип не бил полностю загружен??
DarkLight
22.07.2009, 01:20
Start = скачалось время, равное длине буфера нетстрима. По умолчанию это секунда насколько я помню. Специфического события 100% загрузки у потока нет, можно самому на медиасервере дописать при желании.
LUCKY SHAMROCK
22.07.2009, 01:35
спасибочки.. а из за чего может приторможение битй клипов? ето нормальное явление? мне кажетца у меня много естй оперативной системы время:
counter = function () {
start_time = getTimer();
countdown = 60000;
onEnterFrame = function () {
elapsed_time = getTimer()-start_time;
timer.mytf.htmlText = time_to_string(countdown-elapsed_time);
};
function time_to_string(time_to_convert) {
elapsed_hours = Math.floor(time_to_convert/3600000);
remaining = time_to_convert-(elapsed_hours*3600000);
elapsed_minutes = Math.floor(remaining/60000);
remaining = remaining-(elapsed_minutes*60000);
elapsed_seconds = Math.floor(remaining/1000);
remaining = remaining-(elapsed_seconds*1000);
elapsed_fs = Math.floor(remaining/10);
if (elapsed_hours<10) {
hours = "0"+elapsed_hours.toString();
} else {
hours = elapsed_hours.toString();
}
if (elapsed_minutes<10) {
minutes = "0"+elapsed_minutes.toString();
} else {
minutes = elapsed_minutes.toString();
}
if (elapsed_seconds<10) {
seconds = "0"+elapsed_seconds.toString();
} else {
seconds = elapsed_seconds.toString();
}
if (elapsed_fs<10) {
hundredths = "0"+elapsed_fs.toString();
} else {
hundredths = elapsed_fs.toString();
}
if (seconds < 10) {
trace("ostalosj 10 secund special sound");
}
if (seconds < 1) {
delete onEnterFrame;
return "00:"+'<font color="'+_global.col+'">'+"00"+'</font>'+":00";
//return '<font color="'+_global.col+'">'+"time is up"+'</font>';
// zdesj scrypt 4to proisxodit posle 60 secund
}
return minutes+":"+'<font color="'+_global.col+'">'+seconds+'</font>'+":"+hundredths;
}
};
может бить из-за етого? Извиняюсй если код не соответствует теме но соответствует моей проблеми которую питаюсй решить.. может етот счотчик времени можна упростить?
Добавлено через 2 часа 17 минут
Dimarik вот и моя проблема которую не мог обяснить словами.. сейчас проше понятнее.. работает сетИнтервал для первого видео всё отлична програл.. и идёт проверка как только время сровнялось играет функция лооп и мне необходимо прослидить опять же концовку второго клипа уже.. но когда визиваю в очередной раз сетИнтервал функцию всё виснет.. как мне боротца с етим?
var file = dataObject.path+dataObject.modelName+"_Welcome.flv";
_global.currentClip = file;
var connection:NetConnection = new NetConnection();
connection.connect(null);
var streaming:NetStream = new NetStream(connection);
my_video.attachVideo(streaming);
streaming.play(_global.currentClip);
/*function main() {
my_video.attachVideo(streaming);
streaming.play(_global.currentClip);
streaming.pause(true);
streaming.onStatus = function(getObjects:Object):Void {
if (getObjects.code == "NetStream.Play.Start") {
streaming.pause(false);
delete streaming.onStatus;
}
};
}*/ ета функция тоже будет запускатца и будет нужда снова затронутй setInterval
function loop() {
loop.attachVideo(streaming);
streaming.play(_global.currentClip);
streaming.pause(true);
streaming.onStatus = function(getObjects:Object):Void {
if (getObjects.code == "NetStream.Play.Start") {
streaming.pause(false);
delete streaming.onStatus;
}
};
}
streaming.onMetaData = function(meta:Object):Void {
duration = meta.duration;
trace(duration);
};
function checkEndStatus() {
trace(streaming.time);
if (streaming.time>=duration) {
_global.currentClip = dataObject.path+dataObject.modelName+"1"+"_Loop.flv";
loop();
// вот как мне тут запросить setInterval при переходе на лооп функцию не врубаюсь?
clearInterval(checkEnd);
}
}
checkEnd = setInterval(this, "checkEndStatus", 1000);
Добавлено через 3 часа 2 минуты
всё я ужасно извиняюсь ошибка била моя в етой цтрочке: clearInterval(checkEnd); не нада вообше интервал стерать.. спасибо за внимание
Добавлено через 3 часа 3 минуты
всё я ужасно извиняюсь ошибка била моя в етой цтрочке: clearInterval(checkEnd); не нада вообше интервал стерать.. спасибо за внимание
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.