1) я использую print_r (). В TextMate у меня есть отрывок для, 'пред' который расширяется до этого:
echo "<pre>";
print_r();
echo "</pre>";
2) я использую Xdebug, но не был в состоянии заставить GUI работать правильно на моем Mac. Это, по крайней мере, распечатывает читаемую версию отслеживания стека.
Не отвечаю прямо на ваш вопрос, но существует ряд проигрывателей FLV с открытым исходным кодом. Я бы подошел к проблеме, взяв один из них и посмотрев, как они обрабатывают воспроизведение видео.
FPlayer был бы отличной отправной точкой. Вот класс , который выполняет работу. Это довольно просто, но использование подобного проекта, вероятно, сэкономит вам время.
Этот фрагмент должен помочь в очень простой форме:
var vid:Video = new Video(320, 240);
addChild(vid);
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
vid.attachNetStream(ns);
var listener:Object = new Object();
listener.onMetaData = function(evt:Object):void {};
ns.client = listener;
ns.play("externalVideo.flv");
Как заметил subha, его сделано с использованием класса NetStream ... однако с этим классом, в частности, довольно сложно работать, и он очень несовместим с остальным языком ...
Я настоятельно рекомендую вам использовать какую-нибудь библиотеку, класс или компонент для заверните. Компонент FLVPlayback во Flash (без каких-либо обложек), в отличие от всех других встроенных компонентов во Flash, действительно прост и очень прост в использовании;)
с этим классом, в частности, довольно сложно работать, и он очень несовместим с остальным языком ...Я настоятельно рекомендую вам использовать некоторую библиотеку, класс или компонент, чтобы завершить его. Компонент FLVPlayback во Flash (без каких-либо обложек), в отличие от всех других встроенных компонентов во Flash, действительно прост и очень прост в использовании;)
с этим классом, в частности, довольно сложно работать, и он очень несовместим с остальным языком ...Я настоятельно рекомендую вам использовать какую-нибудь библиотеку, класс или компонент, чтобы завершить его. Компонент FLVPlayback во Flash (без каких-либо обложек), в отличие от всех других встроенных компонентов во Flash, действительно прост и очень прост в использовании;)
var video:Video = new Video();
addChild(video);
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.client = {};
ns.client.onMetaData = ns_onMetaData;
ns.client.onCuePoint = ns_onCuePoint;
ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv");
video.attachNetStream(ns);
function ns_onMetaData(item:Object):void {
trace("metaData");
// Resize video instance.
video.width = item.width;
video.height = item.height;
// Center video instance on Stage.
video.x = (stage.stageWidth - video.width) / 2;
video.y = (stage.stageHeight - video.height) / 2;
}
function ns_onCuePoint(item:Object):void {
trace("cuePoint");
trace(item.name + "\t" + item.time);
}
To do this locally - cut and paste the following code in the first frame of your flash file. Of course change the name at the end.
stage.displayState = StageDisplayState.FULL_SCREEN;
var connection:NetConnection = new NetConnection();
var stream:NetStream;
var video:Video = new Video(1280,960);
var metaObj:Object = new Object();
function onMetaData(data:Object):void
{
}
connection.connect(null);
stream = new NetStream(connection);
stream.client = metaObj;
metaObj.onMetaData = onMetaData;
video.attachNetStream(stream);
addChild(video);
stream.play("name_of_flv.flv");
video.x = 0;
video.y = 0;