织梦CMS - 轻松建站从此开始!

罗索

在播放Flv视频时添加标题或边框

jackyhwei 发布于 2011-05-06 13:44 点击:次 
借鉴于ActionScritp3.0 CookBook的莫大帮助,才发现原来可以通过可视对象列表的叠加来实现,一点一点的磨损最终算是将一个很Ugly的图形放在了视频上,先把code粘到这,下一步的添加标题或边框应该就没有问题了。
TAG:

刚看到这个要求时,虽然实现后的效果并不是多么炫,不过要实现这些简单的效果却真的让我有些茫然无措,用Google搜索了N久也没有看到一篇能够使用的Demo或Example,无奈之下只好从最基本也是最全面的资料--帮助文档分析起了,同时借鉴于ActionScritp3.0 CookBook的莫大帮助,才发现原来可以通过可视对象列表的叠加来实现,一点一点的磨损最终算是将一个很Ugly的图形放在了视频上,先把code粘到这,下一步的添加标题或边框应该就没有问题了。

Edit.mxml:(通过btnLoad按钮来添加叠放图形)

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
  3.     <mx:Panel x="10" y="10" width="403" height="385" layout="absolute"> 
  4.         <mx:VideoDisplay x="10" y="10" width="363" height="275" id="player"
  5. source="video/2.flv" autoPlay="false" borderColor="#0000ff" borderStyle="solid"/> 
  6.         <mx:Button x="202" y="313" label="Play" id="btnPlay" click="player.play();"/> 
  7.         <mx:Button x="286" y="313" label="Stop" id="btnStop" click="player.stop();"/> 
  8.         <mx:Button x="105" y="313" label="Load" id="btnLoad" click="drawRect();"/> 
  9.     </mx:Panel> 
  10.      
  11.     <mx:Script source="EditHandle.as"/> 
  12.     <mx:Panel x="421" y="10" width="250" height="124" layout="absolute"> 
  13.         <mx:Button x="10" y="10" label="Merge" id="btnMer"/> 
  14.     </mx:Panel> 
  15. </mx:Application> 

EditHandle.as:(Edit.mxml的脚本处理文件,只有其中的drawRect函数起作用,即绘制图形)

// ActionScript file
import mx.controls.VideoDisplay;
import mx.controls.videoClasses.CuePointManager;
import flash.text.TextField;
import snow.CircleExample;

private function displayCuePoint():void
{
    //var proxy:CuePointManager=new CuePointManager(player.cuePointManager);
    var cuePoints:Array=player.cuePoints;
    trace("as");
    for(var o:Object in cuePoints)
    {
        trace(o.name+":"+o.time);
    }
}

//Did not function!
private function drawRect():void
{
    //player.drawRoundRect(20,20,20,20,4,0xFF0000);
    var obj:CircleExample=new CircleExample();
    player.addChild(obj);
}

private function drawText():void
{
    var field:TextField=new TextField();
    field.text="Hello,I'm out!";
    field.textColor=0xFF0000;
    field.embedFonts=true;
    field.x=30;
    field.y=30;
    player.addChild(field);
    //DisplayObjectContainer(root).addChild(field);
    //trace(root);
}

CircleExample.as:(绘制图形的类)

package snow
{
    import flash.display.Sprite;
    import flash.display.Shape;

    public class CircleExample extends Sprite
    {
        public function CircleExample(  ) 
        {
          // Create three different colored circles and
          // change their coordinates so they are staggered
          // and aren't all located at (0,0).
          var red:Shape = createCircle( 0xFF0000, 10 );
          red.x = 10;
          red.y = 20;
          var green:Shape = createCircle( 0x00FF00, 10 );
          green.x = 15;
          green.y = 25;
          var blue:Shape = createCircle( 0x0000FF, 10 );
          blue.x = 20;
          blue.y = 20;
          
          // First add the red circle, then add the blue circle (so blue 
          // is drawn on top of red)
          addChild( red );
          addChild( blue );
          
          // Place the green circle between the red and blue circles
          addChildAt( green, 1 );
        }
        
        // Helper function to create a circle shape with a given color
        // and radius
        public function createCircle( color:uint, radius:Number ):Shape 
        {
          var shape:Shape = new Shape(  );
          shape.graphics.beginFill( color );
          shape.graphics.drawCircle( 0, 0, radius );
          shape.graphics.endFill(  );
          return shape;
        }
      }
}

花了一下午的时间总算是有点收获,下来要做的事就是写一个通用的处理添加效果的类,这样在主程序中只需要将其对象通过addChild或addChildAt添加到VideoDisplay中即可。而对于对所添加对象的编辑,如文字字体,颜色,大小,方向等的设置,图象的大小,位置等的设置,都放在效果类中处理即可。

(Anglewing_nwpu)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201105/11486.html]
本文出处:CSDN博客 作者:Anglewing_nwpu
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容