Показать сообщение отдельно
Старый 20.11.2009, 18:12
mrMEM вне форума Посмотреть профиль Отправить личное сообщение для mrMEM Найти все сообщения от mrMEM
  № 10  
Ответить с цитированием
mrMEM

Регистрация: Feb 2009
Сообщений: 63
чтобы реализовать докачку, делаю так:
Код AS3:
resumeUrl = new URLRequest(url.url);	// создаем новый запрос с адресом старого запроса
var urlRequestHeader:URLRequestHeader = new URLRequestHeader("Range", "bytes="+byteArray.length);	// просим качать с конкретного места
resumeUrl.requestHeaders.push(urlRequestHeader);
 
try {
	stream.load(resumeUrl);
}
catch (err2:Error){
	// если не получается качать с заданного места, качаем с начала
	try {	
		stream.load(url);
	}
	catch (err2:Error){
		trace(err2);
	}
	trace(err2);
}
залил swf на сервер
http://reditstudio.ru/tmp/Test.swf,
проверяю докачку, запрос работает, но данные не верно интерпретируются при переводе в графический вид. подозреваю, что параметр byteArray.length неправильный.

byteArray - массив, в который заливаются данные из потока. это происходит так:

Код AS3:
private function streamProgressHandler(event:ProgressEvent){
	if( stream.bytesAvailable == 0 ) return;
	if (stream.connected){
		stream.readBytes(byteArray, byteArray.length);
	}
	trace(event);
 
	if (showLoading && timerFlag){
		timerFlag = false;
		loader.unload();
		loader.loadBytes(byteArray);
	}
 
}