bumblebee
25.03.2013, 14:35
Всем привет!
Прощу помощи, сейчас работаю на видео плеером воспроизводящим HLS-видео(HTTP Live Streaming), т.е файлы с форматом *.m3u8
Вопрос в следующем, видео играет, но при разрыве связи я не могу понять когда соединение с интернетом восстановилось.
import at.matthew.httpstreaming.M3U8Element;
import at.matthew.httpstreaming.M3U8Loader;
...
private function connectStream():void
{
//
var netLoader:M3U8Loader = new M3U8Loader()
//
var urlResource:DynamicStreamingResource = new DynamicStreamingResource("http://rtmp.galargo.tv:1935/videoondemand/mp4:suva/suva/2012/12/13/10555/video_360p.f4v/playlist.m3u8");
//
var videoElement:M3U8Element = new M3U8Element(urlResource, netLoader);
//
var mediaplayer:MediaPlayer = new MediaPlayer();
mediaplayer.media = videoElement
mediaplayer.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, onState)
//
var mediaPlayerSprite:MediaPlayerSprite = new MediaPlayerSprite(mediaplayer);
addChild(mediaPlayerSprite);
}
private function onState(e:MediaPlayerStateChangeEvent):void
{
trace("onState.e: " + e.state)
switch(e.state) {
case "playbackError":
//reconnectTimer.start();
break
}
}
Допустим играет видео, в процессе воспроизведения я выдергиваю сетевой кабель. Приходит событие в методе: onState -> playbackError, означает связь потеряна.
После этого как я вставляю обратно кабель, никаких событий не приходит, как узнать что соединение восстановлено?
Тут можно почитать про HLS (http://en.wikipedia.org/wiki/HTTP_Live_Streaming)
Коротко, от сервера приходят пакеты по 15 сек видео, как только эти 15 сек проиграли, клиент запрашивает следующие 15 сек видео.
Все возможные варианты "погуглил", но в большинстве случаев видео не воспроизводится
Библиотеки M3U8 качал отдельно, входят в пакет OSMF
Прощу помощи, сейчас работаю на видео плеером воспроизводящим HLS-видео(HTTP Live Streaming), т.е файлы с форматом *.m3u8
Вопрос в следующем, видео играет, но при разрыве связи я не могу понять когда соединение с интернетом восстановилось.
import at.matthew.httpstreaming.M3U8Element;
import at.matthew.httpstreaming.M3U8Loader;
...
private function connectStream():void
{
//
var netLoader:M3U8Loader = new M3U8Loader()
//
var urlResource:DynamicStreamingResource = new DynamicStreamingResource("http://rtmp.galargo.tv:1935/videoondemand/mp4:suva/suva/2012/12/13/10555/video_360p.f4v/playlist.m3u8");
//
var videoElement:M3U8Element = new M3U8Element(urlResource, netLoader);
//
var mediaplayer:MediaPlayer = new MediaPlayer();
mediaplayer.media = videoElement
mediaplayer.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, onState)
//
var mediaPlayerSprite:MediaPlayerSprite = new MediaPlayerSprite(mediaplayer);
addChild(mediaPlayerSprite);
}
private function onState(e:MediaPlayerStateChangeEvent):void
{
trace("onState.e: " + e.state)
switch(e.state) {
case "playbackError":
//reconnectTimer.start();
break
}
}
Допустим играет видео, в процессе воспроизведения я выдергиваю сетевой кабель. Приходит событие в методе: onState -> playbackError, означает связь потеряна.
После этого как я вставляю обратно кабель, никаких событий не приходит, как узнать что соединение восстановлено?
Тут можно почитать про HLS (http://en.wikipedia.org/wiki/HTTP_Live_Streaming)
Коротко, от сервера приходят пакеты по 15 сек видео, как только эти 15 сек проиграли, клиент запрашивает следующие 15 сек видео.
Все возможные варианты "погуглил", но в большинстве случаев видео не воспроизводится
Библиотеки M3U8 качал отдельно, входят в пакет OSMF