2009-06-28 10 views
6

मैं एक MovieClip में FLV फ़ाइल लोड कर सकते हैं कैसे और कहा कि FLV फ़ाइल खेलना शुरू (उदाहरण "flvPlaceHolder" कॉल की सुविधा देता है) खेलना शुरू .. ActionScript का उपयोग कर 3?फ्लैश/ActionScript 3: लोड .FLV एक MovieClip में फ़ाइल और कहा कि FLV फ़ाइल

उत्तर

4

स्पष्ट रूप से अपने सवाल का जवाब नहीं है, लेकिन जंगल में खुला स्रोत FLV खिलाड़ियों के एक नंबर रहे हैं। मैं उन लोगों में से एक को पकड़कर और वीडियो को चलाने के तरीके को देखकर समस्या से संपर्क करूंगा।

FPlayer एक उत्कृष्ट शुरुआती बिंदु होगा। Here is the class जो काम कर रहा है। यह काफी सीधे आगे है, लेकिन इस तरह की एक परियोजना का उपयोग करने से शायद आपको कुछ समय बचाएगा।

यह टुकड़ा एक अत्यंत नंगे हड्डियों फैशन में चाल करना चाहिए:

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

के रूप में शुभा ने कहा, इसके netstream के वर्ग का उपयोग किया ... यह है कि वर्ग विशेष रूप से काफी के साथ काम करने में मुश्किल है, और भाषा के बाकी के साथ बहुत uncoherent है ...

मैं दृढ़ता से कुछ पुस्तकालय, वर्ग या घटक टी का उपयोग करने की सलाह होगा ओ इसे लपेटो। फ्लैश में सभी अन्य अंतर्निहित घटकों के विपरीत फ्लैश में FLVPlayback घटक, बिना किसी स्किन्स के, वास्तव में सीधे आगे और उपयोग करने में बहुत आसान है;)

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"); 
संबंधित मुद्दे