VideoDisplayで簡単FLV操作
FlexにはVideoDisplayというものがあります。
FLV(Flash Video)を簡単に扱えるみたいです。
で、サンプルはこんな感じ。
<?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ import flash.filesystem.File; import flash.net.FileFilter; private var movie:File = new File(); private function fileOpen():void { if (vd.playing) { vd.pause(); } try { var flvFilter:FileFilter = new FileFilter("Flash Video(*.flv)", "*.flv"); var allFilter:FileFilter = new FileFilter("すべてのファイル(*.*)", "*.*"); movie.browseForOpen("開く", [flvFilter, allFilter]); movie.addEventListener(Event.SELECT, onSelect); } catch (error:Error) { trace("Failed:", error.message); } } private function onSelect(event:Event):void { var f:File = event.target as File; vd.source = f.nativePath; vd.play(); } ]]> </mx:Script> <mx:Canvas width="100%" height="100%"> <mx:VBox width="100%" height="100%"> <mx:VideoDisplay id="vd" width="100%" height="100%"/> <mx:HBox width="100%"> <mx:Button label="open" click="fileOpen();"/> <mx:Spacer width="100%"/> <mx:Button label="play" click="vd.play();"/> <mx:Button label="pause" click="vd.pause();"/> <mx:Button label="stop" click="vd.stop();"/> </mx:HBox> </mx:VBox> </mx:Canvas> </mx:WindowedApplication>
開始、一時停止、停止が簡単に実現できてしまってます。
「これは簡単でいいな」と思っていたのですが、O'REILLYの『Flex3 Cookbook』の"8.9 Smooth Video Displayed in a Flex Application"を見ると、VideoDisplayではflash.media.Videoのsmoothingプロパティを設定できないと書いてあります。
スムージングが必要な場合はVideoDisplayではなく、flash.media.Videoを使わないとダメみたいですね。
そのサンプルはまた今度にします。。。