Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Предварительная загрузка FLV (http://www.flasher.ru/forum/showthread.php?t=170106)

toFL 18.10.2011 19:09

Предварительная загрузка FLV
 
Как реализовать предварительную загрузку flv-шек? Мне нужно загрузить пакет файлов flv, а затем, при необходимости, их воспроизводить.

Есть такой вариант:
Код AS3:

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.play(path);

Получается это самый правильный вариант? И как потом прикрутить последующее воспроизведения видео?

alatar 18.10.2011 20:27

URLLoader + NetStream#appendBytes()

toFL 19.10.2011 11:20

При применении загруженных байт (загружаю FLV URLLoader-ом):
Код AS3:

ns.appendBytes(loader.data)

Вылетает ошибка:
Код:

Error 1034: Ошибка типа Coercion: невозможно преобразовать "FLV...
Тип загруженных данных при этом:
Код AS3:

trace(loader.dataFormat);//text

Как быть?

alatar 19.10.2011 12:25

Цитата:

Как быть?
Код AS3:

loader.dataFormat = URLLoaderDataFormat.BINARY;


toFL 19.10.2011 13:27

Спасибо, данные записались в NetStream. Может кому полезно будет, перед этим нужно перейти в режим создания данных:
Код AS3:

ns.play(null);//активируем режим создания данных
ns.appendBytes(loader.data);

Как потом этот NetStream заставить воспроизводиться в Video?

alatar 19.10.2011 13:37

Документацию читать пробовали?

toFL 19.10.2011 13:48

Проблема вот в этом оказывается:
Код AS3:

ns.play(null);//активируем режим создания данных
trace(loader.data.length);//169272
ns.appendBytes(loader.data);
trace(ns.bytesTotal);//0

Почему не записывает?

Добавлено через 2 часа 30 минут
В чем может быть проблема? Никогда не сталкивался с appendBytes.

Aziz Zaynutdinoff 19.10.2011 17:57

Все записывается… и проигрывается
Код AS3:

import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.NetStatusEvent;
 
/* Create a NetStream Video
Displays a video on stage without using the FLVPlayback video component.
 
Instructions:
 
1. If you are connecting to a video file that is on a streaming server such as Adobe Flash Media Server 2, replace 'null' below with the URL address of the video file. Place quotation marks ("") around the URL address.
2. If you are connecting to a local video file or one that is not using a streaming server, leave 'null' in place below.
3. Replace "http://www.helpexamples.com/flash/video/water.flv" with the URL of the video you want to play. Keep the quotation marks ("").
*/

 
var fl_NC:NetConnection = new NetConnection();
fl_NC.connect(null);// starts a connection; null is used unless using Flash Media Server
 
var fl_NS:NetStream = new NetStream(fl_NC);
fl_NS.client = {};
 
var fl_Vid:Video = new Video();
fl_Vid.attachNetStream(fl_NS);
addChild(fl_Vid);
fl_NS.addEventListener(NetStatusEvent.NET_STATUS, onstatus);
fl_NS.play(null);
 
var loader : URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE, onloaded);
loader.load(new URLRequest("http://www.helpexamples.com/flash/video/water.flv"));
 
function onloaded(event : Event):void
{
        fl_NS.appendBytes(loader.data);
}
 
function onstatus(event : NetStatusEvent):void
{
        trace(event.info["code"]);
}


a_[w] 19.10.2011 19:54

А просто на паузу поставить не пробовали? Запустить загрузку и сразу на паузу, а как загрузилось, проиграть. Зачем весь этот огород с appendBytes?

toFL 20.10.2011 11:43

Все заработало, спасибо.
Цитата:

А просто на паузу поставить не пробовали? Запустить загрузку и сразу на паузу, а как загрузилось, проиграть. Зачем весь этот огород с appendBytes?
У меня один загрузчик (Словарь), который все поочередно загружает. Затем из этого словаря, кто угодно может взять видео и воспроизвести.


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

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