|
|
|||||
FLV плеер
странно что на AS3 никто ничего про это не говорит.
мне тут задача недавно встала создать плеер FLV. к сожалению так исторически сложилось я с FLV никогда не сталкивался вообще. так что не хочу щас ворошить двойку и попробовать сделать сразу на тройке. первое что дал F1 это FLVPlayback - но как увидел импорт сразу понял что это не то, так как он требует библиотечных элементов. единственное что нашёл подходящее это скудный Class Video. и там здравствуй сново NetStream. используя пример package { import flash.display.Sprite; import flash.events.*; import flash.media.Video; import flash.net.NetConnection; import flash.net.NetStream; public class VideoExample extends Sprite { private var videoURL:String = "Video.flv"; private var connection:NetConnection; private var stream:NetStream; public function VideoExample() { 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.StreamNotFound": trace("Unable to locate video: " + videoURL); break; } } private function connectStream():void { var stream:NetStream = new NetStream(connection); stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); var video:Video = new Video(); video.attachNetStream(stream); stream.play(videoURL); addChild(video); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function asyncErrorHandler(event:AsyncErrorEvent):void { // ignore AsyncErrorEvent events. } } } А ещё даже где то видел что тыкнув на не загруженную часть ролика - можно начать грузить заново именно с этого момента. певое пытался решить поставив 2 дополнительных лисенера на NetStream, но это не помогло - лисенеры глухо молчат =( в общем посоветуйте пожалуйста кто что знает по этой теме и сталкивался уже. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Видео с заданной позиции грузить можно только если сервер такое умеет.
|
|
|||||
я тоже так думал но потом наткнулся что где то писали что вот как раз за счёт потока можно качать хоть из середины.. ладно это позже сам покопаю. а как на счёт статистики загрузки? т.е. как мне узнать колличество всего и колличество загруженных байт?
|
|
|||||
UFO
Регистрация: Jul 2007
Сообщений: 173
|
Играть с середины можно, если ты используешь стандартный адобовский сервер, либо используешь любой другой сервер, который может отдать тебе поток с любого момента. В любом случае есть хитрость - при запросе, необходимо четко попадать на кадр, иначе поток играться не станет.
|
|
|||||
Banned
[+4 11.12.07]
[+4 18.03.08] Регистрация: Oct 2007
Сообщений: 269
|
Цитата:
Цитата:
|
|
|||||
UFO
Регистрация: Jul 2007
Сообщений: 173
|
Адобовский потоковый FCS FMS, а сам протокол не важен, хоть rtmpts =)))) или любой поддерживающий ranges - да.
Эти смещения определяются при кодировании видео в FLV, и называются они metadata. В них пихают обычно ключевые фремы, по смешению и по времени - т.е. два массива. |
|
|||||
Banned
[+4 11.12.07]
[+4 18.03.08] Регистрация: Oct 2007
Сообщений: 269
|
Цитата:
Цитата:
|
|
||||||
Цитата:
Цитата:
Цитата:
Цитата:
И вообше когда люди которые с флешаком знакомы с 2004 года (судя по дате регистрации), задают вопросы: Цитата:
Последний раз редактировалось smartan; 31.10.2007 в 18:25. |
|
|||||
Banned
[+4 11.12.07]
[+4 18.03.08] Регистрация: Oct 2007
Сообщений: 269
|
Цитата:
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
LinuxVideo, каким образом, по-вашему, флеш отправит ranges?
|
Часовой пояс GMT +4, время: 19:23. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|