2009-06-28 13 views

答えて

4

あなたの質問に明示的に答えていませんが、野生のオープンソースのFLVプレーヤーがいくつかあります。私はそれらの1つをつかんで、彼らがビデオを再生する方法を見て問題を解決します。

FPlayerは、優れた出発点になります。 Here is the classその作業をしています。これはかなり単純ですが、このようなプロジェクトを使用するとおそらく時間を節約できます。サブハが、しかし...そのNetStreamクラスを使用して行われ、そのクラスを指摘したように

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"); 

from here

+0

ありがとう。しかし..ええ..本当に私の質問に答えなかった:) – roosteronacid

+0

がコードスニペットを追加しました。 –

1
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); 
} 
1

このコードは非常に裸の骨の形でトリックを行う必要があります特に作業するのは非常に難しく、残りの言語とは非常に矛盾しています...

ライブラリ、クラスまたはコンポーネントを使用することを強くお勧めしますoそれを包みなさい。 FlashのFLVPlaybackコンポーネント(スキンなし)は、Flashの他のビルトインコンポーネントとは異なり、非常に簡単で使いやすく非常に使いやすいです)。

2

これをローカルで実行するには - 次のコードをカットアンドペーストしますあなたのフラッシュファイルの最初のフレームに。もちろん、最後に名前を変更してください。

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; 
0
var flvPlaceHolder:MovieClip = new MovieClip();  

var vid:Video = new Video(320, 240); 
flvPlaceHolder.addChild(vid); 
addChild(flvPlaceHolder); 
flvPlaceHolder.x = stage.stageWidth/2-vid.width/2; 
flvPlaceHolder.y = stage.stageHeight/2-vid.height/2; 

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("mario.flv"); 
関連する問題