PDA

Просмотр полной версии : не проигрывается клип через NetStream


STILL.05
28.08.2007, 18:32
class MyStream {
private var play_link:PlayPanel
private var url:String
private var url_req:URLRequest

private var stream:NetStream
private var connection:NetConnection

private var open_connection:Boolean = false;

public function MyStream() {
cLog.add('new MyStream()')
connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
connection.connect(null);

}
public function init(lnk:PlayPanel):void {
play_link = lnk;
}
// Event NetConnection
private function netStatusHandler(e:NetStatusEvent):void {
cLog.add('MyStream:netStatusHandler', cLog.EVENTS_INFO)
cLog.add(' event.info.code = '+e.info.code, cLog.EVENTS_INFO)
switch (e.info.code) {
case 'NetConnection.Connect.Success' :
connectStream();
break
case 'NetStream.Play.StreamNotFound' :
cLog.add('Не удалось открыть подключение. (MyStream:netStatusHandler)', cLog.ERROR_INFO)
break
}
}
private function securityErrorHandler(e:SecurityErrorEvent):void {
cLog.add('MyStream:securityErrorHandler'+' / '+e, cLog.ERRLOAD_INFO)
}
// Event NetStream
private function netStatusStreamHandler(e:NetStatusEvent):void {
cLog.add('MyStream:netStatusStreamHandler = '+url, cLog.EVENTS_INFO)
cLog.add('event.info.code = '+e.info.code, cLog.EVENTS_INFO)
}
private function netIOErrorStreamHandler(e:IOErrorEvent):void {
cLog.add('MyStream:netStatusStreamHandler = '+url+' / '+e, cLog.ERRLOAD_INFO)
}
private function netAsyncStreamHandler(e:IOErrorEvent):void {
cLog.add('MyStream:netAsyncStreamHandler = '+url+' / '+e, cLog.ERRLOAD_INFO)
}
private function connectStream():void {
cLog.add('MyStream:connectStream', cLog.EVENTS_INFO)
open_connection = true

stream = new NetStream(connection)
stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusStreamHandler);
stream.addEventListener(IOErrorEvent.IO_ERROR, netIOErrorStreamHandler);
stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR , netAsyncStreamHandler);
stream.client = new CustomClient()

}
public function play(u:String) {
if (open_connection) {
cLog.add('MyStream:play = '+u)

url = u;
url_req = new URLRequest(url)

var video:Video = new Video();
video.attachNetStream(stream);
play_link.addChild(video)
stream.play(url_req);

}
}
}


вот класс который должен проигрывать flv
ролик не грузится и при этом не ругается ни какими ошибками и нет ни каких событий после вызова функции play

в чем моя ошибка?

STILL.05
29.08.2007, 11:59
народ, не ужели ни кто не знает? :-(

Nirth
29.08.2007, 12:21
Иногда народу лень, а поднимать свои топики запрещено правилами.

Форум не тех подержка, когда захотят тогда и ответят.

silin
29.08.2007, 12:58
попробуй stream.play() предавать строку, а не URLRequest..
зы: дело даже не в лени.. трудно понять где грабли по фрагметам кода, выдранным из контекста..
приведи цельный пример трабла, который можно тестировать, а не домысливать, что там осталось за кадром..

STILL.05
29.08.2007, 13:55
передал в stream.play() строку а не URLRequest все заработало
silin спасибо :)
кто скажет почему так? это какое то исключение из правил или что?

smartan
03.09.2007, 18:43
F1:
play () method

public function play(... arguments):void

Parameters ... arguments — The location of the FLV file to play, as a URLRequest object or a string. You can play local FLV files that are stored in the same directory as the SWF file or in a subdirectory; however, you can't navigate to a higher-level directory.

Как видишь нет! :)