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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.04.2010, 18:01
ZoNT вне форума Посмотреть профиль Отправить личное сообщение для ZoNT Найти все сообщения от ZoNT
  № 1  
Ответить с цитированием
ZoNT
[+4 03.10.07]
 
Аватар для ZoNT

Регистрация: Oct 2007
Сообщений: 16
По умолчанию Проблема: видео "замирает" в ИЕ

Написал простой скрипт с использованием netStream, он воспроизводит видео во флешке. При наведении на флешку видео начинает воспроизводится, при уводе мышки - ставится на паузу. Также на паузу можно поставить видео не уходя с флешки, нажав на соответствующую кнопку. Если видео стоит на паузе и увести курсор с флешки, а потом снова навести на неё, то видео опять начнёт воспроизводится.
Проблема как всегда появляется в ИЕ: видео не начинает воспроизводится, если до уводы курсора с флешки оно ставилось на паузу. Все трейсы показывают что копанда на воспроизведение подаётся, но видое "замирает" и не проигрывается.
Тестовая страничка: http://files.adriver.ru/share/adobe_netstream_ie_bug/
Пробовал переписать на AS3 - результат тот же: в ИЕ баг - в остальных браузерах нормально.
Версия плагина под ИЕ последняя, и на 10.0.22 было то же самое.

Кто-нибудь сталкивался? Как обойти данную проблему?

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

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
Прикол! А код можете показать?
__________________
Играй. Это жизнь.
Всё повторяется. Играй.

Старый 22.04.2010, 12:19
ZoNT вне форума Посмотреть профиль Отправить личное сообщение для ZoNT Найти все сообщения от ZoNT
  № 3  
Ответить с цитированием
ZoNT
[+4 03.10.07]
 
Аватар для ZoNT

Регистрация: Oct 2007
Сообщений: 16
Вот на AS2:
Код AS1/AS2:
if(_root.ar_comppath == undefined){
	_root.ar_comppath = '';
}
 
var conn = new NetConnection();
conn.connect(null);
var stream = new NetStream(conn);
my_vid.attachVideo(stream);
stream.onMetaData = function(info){
	_root.isPlaing = true;
	_root.tg = 'click';
}
stream.play(_root.ar_comppath + '0.flv');
 
function _play(st, tg){
	clearInterval(_root.timer);
	if (st) {
		stream.pause(false);
		_txt.text = 'play: ok, ' + tg + ', stream = ' + stream.time;
		_root.isPlaing = true;
		_root.tg = tg;
		return;
	}
	_root.timer = setTimeout(function(){
		if (_root.tg != tg) return;
		if (tg == 'pause') return;
		stream.pause(false);
		_txt.text = 'play: ok, ' + tg + ', stream = ' + stream.time;
		_root.isPlaing = true;
		_root.tg = tg;
	}, 10);
}
function _pause(tg){
	clearInterval(_root.timer);
	_root.timer = setTimeout(function(){
		stream.pause(true);
		_txt.text = 'pause: ok, ' + tg + ', stream = ' + stream.time;
		_root.isPlaing = false;
		_root.tg = tg;
	}, 10);
}
На паузу прошито:
Код AS1/AS2:
on(release){
	if (_root.isPlaing) _pause('pause');
	else _play(1, 'pause');
}
on(rollOver){
	_play(0, 'pause');
}
on(rollOut){
	_pause('pause');
}
На основную кнопку (занимает всу площадь ролика) прошито:
Код AS1/AS2:
on(release){
	getURL(_root.link1, _root.target);
	_pause('click');
}
on(rollOver){
	_play(0, 'click');
}
on(rollOut){
	_pause('click');
}
Вот то же самое, на AS3:
Код AS3:
import flash.events.*;
 
var ar_comppath = this.loaderInfo.parameters['ar_comppath'] || '',
	isPlaing = false,
	tg,
	timer;
 
var conn = new NetConnection();
conn.connect(null);
var stream = new NetStream(conn);
my_vid.attachNetStream(stream);
stream.addEventListener(NetStatusEvent.NET_STATUS, errorHandler);
stream.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, errorHandler);
stream.client = {
	onMetaData: function(info){
		isPlaing = true;
		tg = 'click';
	}
}
function errorHandler(e){
	_txt.text = e.info.code;
}
stream.play(ar_comppath + '0.flv');
 
function _play(st, t){
	clearInterval(timer);
	if (st) {
		stream.resume();
		_txt.text = 'resume from pause';
		isPlaing = true;
		tg = t;
		return;
	}
	timer = setTimeout(function(){
		if (tg != t) return;
		if (t == 'pause') return;
		stream.resume();
		_txt.text = 'resume from hide';
		isPlaing = true;
		tg = t;
	}, 10);
}
function _pause(t){
	clearInterval(timer);
	timer = setTimeout(function(){
		stream.pause();
		isPlaing = false;
		_txt.text = 'pause';
		tg = t;
	}, 10);
}
 
/* buttons */
function _clickRelease(e){
	_pause('click');
	try {
		var ie:String = ExternalInterface.call("function(){return !!window.ActiveXObject}");
		var url:String = LoaderInfo(this.root.loaderInfo).parameters['link1'];
		if (ie) ExternalInterface.call('window.open',url);
		else navigateToURL(new URLRequest(url), '_blank');
	}catch (e:Error){}
}
function _clickOver(e){
	_play(0, 'click');
}
function _clickOut(e){
	_pause('click');
}
_click.addEventListener(MouseEvent.CLICK, _clickRelease);
_click.addEventListener(MouseEvent.MOUSE_OVER, _clickOver);
_click.addEventListener(MouseEvent.MOUSE_OUT, _clickOut);
 
 
function _pauseRelease(e){
	if (isPlaing) _pause('pause');
	else _play(1, 'pause');
}
function _pauseOver(e){
	_play(0, 'pause');
}
function _pauseOut(e){
	_pause('pause');
}
_pB.addEventListener(MouseEvent.CLICK, _pauseRelease);
_pB.addEventListener(MouseEvent.MOUSE_OVER, _pauseOver);
_pB.addEventListener(MouseEvent.MOUSE_OUT, _pauseOut);
Добавлено через 4 часа 1 минуту
Написал багрепорт в Адоб.

Добавлено через 24 часа 51 минуту
Скажите мне кто-нибудь что это не баг флеша и что это можно как-то обойти. Может кто костыль знает?

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

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

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


 


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


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