As a matter of fact, I am. It look like we need a Video object for .attachVideo which can only be created from the Flash authoring tool (or at least neither the flashcoders nor I know how to create using ActionScript alone: http://pattern.junlu.com/msg/851.html )
We should be able to tweak the compiler to add in a video object wrappedin a moveClip for runtime instantiation. I whipped one up in Flash (enclosed for the curious).
Anyone know how to decompile the SWF and add the byte code into a Laszlo app? I've mucked around in SWFFile.java before, but I would guess JGenerator doesn't have any calls for adding in the Video object.
Sarah On Mon, Feb 27, 2006 at 5:31 PM, Don Hopkins wrote:
From: Sarah Allen Subject: [Laszlo-dev] getting at the moveClip of a viewSo, I wanted to get at the movieClip of a view (prototyping something before actually diving into the LFC), and I couldn't figure it out. I swear I've done this before. [...]Are you trying to do the same thing I want to do? I've been noodling around with trying to get Laszlo to play streaming flv files, but so far have only been able to get their audio streams to play, without any video displayed.I think the reason you're not finding an __LZmovieClipRef is that they're only created under certain circumstances, like the view having a resource orbackground color, or containing other views. There's a method calledmakeContainerResource that seems to make a __LZmovieClipRef, which I think gets called when you dynamically set the resource or add sub-views. Settingthe background color of a view also creates its __LZmovieClipRef. Here's a snippet from my latest attempt, for a top secret "SimCheney"project I'm working on, big time. Don't leak the source or I'll blast you in the face with a shotgun! (No actually, feel free to leak the source! Justplease let me know if you get it to work!) It just plays the audio from the flv, but doesn't show the video. Theresource="gofuckyourself_res" causes the __LZmovieClipRef to be defined, otherwise it's undefined, which causes warnings, but the audio plays anywayfor some reason. -Don <view name="movieplayer" id="gMP" x="${canvas.leftEdge}" y="${canvas.topEdge}" width="${parent.width - (canvas.leftEdge + canvas.rightEdge)}" height="${parent.height - (canvas.topEdge + canvas.bottomEdge)}" stretches="both" resource="gofuckyourself_res"<attribute name="connection" value="null"/> <attribute name="stream" value="null"/> <method event="oninit"><![CDATA[ var ref = this.__LZmovieClipRef; Debug.write("oninit", this, this.__LZmovieClipRef); this.connection = new NetConnection(); Debug.write("connection", connection); this.connection.connect(null); this.stream = new NetStream(this.connection); Debug.write("stream", stream); this.stream.onStatus = function(info) { Debug.write("status", this, info, info.level, info.code); } ref.attachVideo(this.stream); this.stream.setBufferTime(5); this.stream.play("MaherCheney.flv"); ]]> </method> </view>Here's the debugger output (I also clicked on the interesting objects toshow them, with "Debug.showInternalProperties = true" of course):oninit #gMP<MovieClip#1| _level0.$m0.$m0.$m0> connection <object#2| {contentType: application/x-fcs}> stream <object#3| {}> status <object#3| {}>{level: status, code: NetStream.Play.Start} status NetStream.Play.Start status <object#3| {}>{level: status, code: NetStream.Buffer.Full} status NetStream.Buffer.Full status <object#3| {}>{level: status, code: NetStream.Buffer.Flush} status NetStream.Buffer.Flush status <object#3| {}>{level: status, code: NetStream.Buffer.Flush} status NetStream.Buffer.Flush status <object#3| {}>{level: status, code: NetStream.Play.Stop} status NetStream.Play.Stop status <object#3| {}>{level: status, code: NetStream.Buffer.Empty} status NetStream.Buffer.Empty <MovieClip#1| _level0.$m0.$m0.$m0> { __proto__: <Object#10| MovieClip.prototype> _currentframe: 1 _opacity: <undefined> _rotation: 0 _visible: true _x: 40 _xscale: 1102 _y: 40 _yscale: 874 constructor: MovieClip } <MovieClip#1| _level0.$m0.$m0.$m0> <object#2| {contentType: application/x-fcs}> { __constructor__: <Function#12> __proto__: <Object#13| undefined#12.prototype> contentType: application/x-fcs isConnected: true uri: null } <undefined#12#12#2| {contentType: application/x-fcs}> <object#3| {}> { __constructor__: <Function#14> __proto__: <Object#15| undefined#14.prototype> _bytesTotal: 2949922 audiocodec: 2 bufferLength: 0 bufferTime: 5 bytesLoaded: 2949922 bytesTotal: 2949922 currentFps: 0 decodedFrames: 0 liveDelay: 0 onStatus: <Function#16| this.stream.onStatus> time: 49.52 videocodec: 0 } <undefined#14#14#3| {}>-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Sarah Allen Sent: Monday, February 27, 2006 12:46 PM To: OpenLaszlo development development Subject: [Laszlo-dev] getting at the moveClip of a viewSo, I wanted to get at the movieClip of a view (prototyping something before actually diving into the LFC), and I couldn't figure it out. I swear I've done this before.Simple test case: <canvas> <view id="v" oninit="Debug.write(this.__LZmovieClipRef)"/> </canvas> shows in the debugger:WARNING: test.lzx:2: reference to undefined property '__LZmovieClipRef'<undefined>Adding width, height and bgcolor to the view didn't help. If I set Debug.showInternalProperties = true, I see __LZbgRef:, but no __LZmovieClipRefWhat's up? Thanks, Sarah
video.swf
Description: application/shockwave-flash
_______________________________________________ Laszlo-dev mailing list [email protected] http://www.openlaszlo.org/mailman/listinfo/laszlo-dev
