![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: May 2008
Сообщений: 102
|
Начальные условия:
1. желания и требования заказчика (без них никуда) 1.1. исходя из требований заказчика имеем: - размер флэш-клипа 1200 на 700 - в проект встроено около 20 видеороликов - размер каждого видеоролика 480x428 - все видео ролики встроены в проект - на выходе один swf-файл - нужно было реализовать следующее: Ролики проигрываются подряд в цикле, допустим, в случайно последовательности Видео в формате FLV импортировался через IDE CS4 как embded видео с автоматическим созданием мувиклипа и разложению его по кадрам в timeline этого клипа. Видео было БЕЗ звука. И все работало - ролики плавно сменяли друг друга. Хоть и были тормоза, но терпимые. Заказчик обещал под проект крутые тачки, на которых все летает и не тормозит. Проблема: видеоролики без звука, заменили на видеоролики со звуком - начались адские тормоза + видео играет не плавно - когда очередной ролик заканчивается - видео стопорится и через некоторое время только начинает играть следующий ролик - то есть появляется пауза на концах роликов. При этом даже на крутых тачках все начинает тормозить и дергаться. ----------------------------------------------- Кто-нибудь что-нибудь может посоветовать? Я думал грузить видео отдельными файлами с диска - но мне сказали что это медленно работает. Заранее спасибо. |
|
|||||
|
.
|
Аха, а из интернета, следовательно, еще медленнее, чем с локального диска?
Грузите отдельными файлами, не заморачивайтесь ембедом. Хотя, это противоречит ТЗ. |
|
|||||
|
Регистрация: May 2008
Сообщений: 102
|
Цитата:
Пробую так: package { import flash.display.*; import flash.events.*; import flash.media.Video; import flash.net.NetConnection; import flash.net.NetStream; public class Main2 extends Sprite { private var videoURL1:String = "run.flv"; private var videoURL2:String = "jump.flv"; private var currentURL = 1; private var connection:NetConnection; private var stream:NetStream; private var video:Video; public function Main2() { stage.quality = StageQuality.LOW; stage.scaleMode = StageScaleMode.NO_SCALE; connection = new NetConnection(); connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); connection.connect(null); } private function netStatusHandler(event:NetStatusEvent):void { switch (event.info.code) { case "NetConnection.Connect.Success": connectStream(); break; case "NetStream.Play.Stop": currentURL = (currentURL == 1)?2:1; stream.play((currentURL == 1)?videoURL1:videoURL2); break; case "NetStream.Play.StreamNotFound": trace("Unable to locate video"); break; } } private function connectStream():void { stream = new NetStream(connection); stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); video = new Video(480, 428); video.attachNetStream(stream); currentURL = 1; stream.play(videoURL1); addChild(video); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function asyncErrorHandler(event:AsyncErrorEvent):void { // ignore AsyncErrorEvent events. } } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|