Alongside the release of Flash Media Server 3.5 this week, we also shipped a Flex-compatible version of the FLVPlayback component.
If you’ve ever looked at the VideoDisplay component in the Flex SDK you’ll know that it’s not exactly feature-packed, so it’s great that we now have an enhanced version – the FLVPlayback component has the following new features:
- Provides skinnable and customisable controls for video playback
- Supports video on demand, live streaming and progressive download
- Compatible with the dynamic streaming and Live DVR features in FMS 3.5
You can download the component from the Adobe website, after logging in with your Adobe ID and accepting the license agreement. Once downloaded and extracted you should add the FLVPlayback_2.5 SWC file to your Flex project (either by adding its location to the project build path or by adding the SWC to the ‘libs’ directory) and then you’re good to go.
The component has been written to be compatible with both Flex and Flash Professional and hence does not extend UIComponent in the Flex framework, so you can’t just use it directly in MXML. Also, you need to be working with Flex SDK 3.2 and (I think) targetting Flash Player 10.
Here’s an example of the code you could use to incorporate the component into your Flex project:
For additional commentry and a complete example project you can use check out Stefan Richter’s post “Using the new FLVPlayback 2.5 component in Flex“.
Video on the Flash Platform just got a whole lot easier for Flex developers with the addition of this new component – while you’re at it, take a look at the new features in FMS 3.5 and download a free development version.
Yes, Flash Player 10 must be targeted, or it won’t compile in Flex Builder.
When I try FLVPlayback.swc, and add a skin.swf and the basic code you provide – I get
1119: Access of possibly undefined property scaleMode through a reference with static type FLVPlayback errors.
Do you have any tips as to what I am doing wrong? I am accessing Flash Player 10… as far as I can tell. Thanks…
Would it not be difficult to write a wrapper so that i can be used with mxml?
Its pretty lame Adobe hasn’t released a version for its flex devs and expects us to be happy using that ugly script block.
excuse me for the rant ; )
Further to my last post, I am definitely using FlashPlayer 10. The errors go away in Flex if I turn off strict typing – but then I get a #1056 error in Flash Player. It seems as if the 1119 errors are claiming that the source, skin, skinBackgroundColor and skinAutoHide properties of FLVPlayback don’t exist. Is thsi something to do with strangeness in the UIComponent?
Bjorn – I agree that there is room for improvement, although I think the first priority was getting something that worked for both Flash Professional and Flex. Given that we’re currently working on Gumbo, I’m hopeful that we’ll have an opportunity to provide an enhanced Flex component that builds on the work done here to provide a full MXML-compatible implementation.
If I get any more information from the product team I’ll post it here.
Jaia – are you definately using Flex SDK 3.2? Check under Properties > Flex Compiler to verify the version you’re using. It’s definately working OK for me with Flex SDK 3.2, Flash Player 10 and strict typing enabled.
Thanks for the reply. Yup, 3.2. I don’t understand it – though I have read of some bugs logged for a similar error under both 3.1 and Gumbo. And a few mystified posts saying that the error suddenly simply vanished… Plus on Flexcoders a few people have spoken about strange behaviour with UIComponent… Or maybe there is something up with my configuration? Hmm… what now? Do you have any expert tips on how I might be able to discover more supporting evidence about what is going on?
Jaia – not quite sure what is going on there. One suggestion, based on an experience one of my colleagues was having – try looking for the mm.cfg file on your system and deleting it. There can sometimes be issues when that file gets corrupted and it can cause problems in both Flex Builder and Flash Professional.
Jaia,
I was getting the same type of errors, what eventually fixed it is under properties/flex compiler/html wrapper require flash player version must be 10.0.0. Also the above code needed the following to render in IE7: video.width = 480;
Hi, Never did find the reasons why I had 1119 problems – but the code on Stefan’s post worked for me. Yay!! (Actually I’d already built my own by then… but hey! solved – should anyone else encounter such weirdness.)
I think that claiming that this version of the FLVPlayback component is Flex-compatible is a bit of a misnomer, if not a borderline falsehood. Since you cannot instantiate the component directly in Flex, but need to wrap it in a UIComponent and instantiate it dynamically, versus instantiating it in MXML (because it does not implement the IMXMLObject interface and others), means that it is not wholly compatible with Flex, and requires a hack to implement it. How different is the code above than this implementation of the Flash CS3 or Flash CS4 FLVPlayback component in Flex?
I think Adobe needs to be clear: the featureset has been improved for Flash 10 compatibility, but a Flex-compatible video component it is not.
Joeflash – I think it is fair to say that it is compatible, but I completely agree that we need to do more and make this a first-class component within the Flex framework. Hopefully the team will have time to do that work as part of the Flex Gumbo release.