zoukankan      html  css  js  c++  java
  • AS3视频播放器

    我们经常用视频播放器,但是很少会去想,怎样做一个视频播放器,这里提供一个简易视频播放器的做法,可以循环播放视频,挑选指定视频,快进,调节音量等,基于AS3编程,效果如下:

    实现AS3代码:

      1 package
      2 {
      3     import flash.display.Sprite;
      4     import flash.events.Event;
      5     import flash.net.URLLoader;
      6     import flash.net.URLRequest;
      7     
      8     import fl.containers.ScrollPane;
      9     import fl.containers.UILoader;
     10     import fl.controls.ScrollBarDirection;
     11     import fl.controls.TileList;
     12     import fl.data.DataProvider;
     13     import fl.video.FLVPlayback;
     14     import fl.video.VideoEvent;
     15     
     16     [SWF(width="1000", height="600", frameRate="20")]
     17     public class videoPlay extends Sprite
     18     {
     19         public var t1:TileList = new TileList();
     20         public var vi:FLVPlayback = new FLVPlayback();
     21         public var arr:Array;
     22         public var staticStr:String;
     23         
     24         public function videoPlay()
     25         {
     26             init();
     27         }
     28         
     29         public function init():void
     30         {
     31             var req:URLRequest = new URLRequest("video.xml");
     32             var lod:URLLoader = new URLLoader(req);
     33             var xml:XML;
     34             lod.addEventListener(Event.COMPLETE,function(){
     35                 xml=new XML(lod.data);
     36                 
     37                 trace(xml.pInfo.@swf);
     38                 create(xml.pInfo.@swf);
     39                 creList(xml);
     40             });
     41             
     42             
     43         }
     44         
     45         public function create(str:String):void
     46         {
     47             arr = str.split("flv");
     48             for(var i:int =0; i<arr.length-1; i++)
     49             {
     50                 arr[i] = arr[i] + "flv";
     51                 trace(arr[i]);
     52             }
     53         }
     54         
     55         public function creList(xml:XML):void
     56         {
     57             var dp:DataProvider = new DataProvider(xml);
     58             
     59             t1.dataProvider = dp;
     60             t1.labelField = "name";
     61             t1.sourceField = "src";
     62             t1.columnCount=1;
     63             t1.columnWidth = 150;
     64             t1.rowHeight = 80;
     65             t1.width = 150;
     66             t1.height = stage.stageHeight;
     67             t1.direction = ScrollBarDirection.VERTICAL;
     68             stage.addChild(t1);
     69             t1.selectedIndex = 0;
     70             
     71             t1.addEventListener(Event.CHANGE,function():void
     72             {
     73                 vi.source = t1.selectedItem.swf;
     74             });            
     75             creVideo();
     76         }
     77         
     78         public function creVideo():void
     79         {
     80             vi.source = t1.selectedItem.swf;
     81             vi.skin =  "file/MinimaSilverAll.swf";
     82             vi.skinBackgroundColor = 0x000000;
     83             vi.skinBackgroundAlpha = 0.8;
     84             vi.skinAutoHide = true;
     85             vi.x = t1.x + 160;
     86             vi.y = t1.y;
     87             vi.width = 800;
     88             vi.height = t1.height-50;
     89             stage.addChild(vi);
     90             
     91             vi.addEventListener(VideoEvent.COMPLETE,function()
     92             {
     93                 trace("视频路径:" + vi.source);
     94                 for (var i:int = 0; i<arr.length-1;i++)
     95                 {
     96                     if (vi.source == arr[i])
     97                     {
     98                         if (i == arr.length-2)
     99                         {
    100                             vi.source = arr[0];
    101                             break;
    102                         }
    103                         else
    104                         {
    105                             vi.source = arr[i+1];
    106                             break;
    107                         }
    108                     }
    109                 }
    110             });
    111         }
    112         
    113         
    114         
    115     }
    116 }

    视频播放XML配置

     1 <vid>
     2     <pInfo id="1" name="第一集" src="image/001.jpg" swf="video/000.flv"/>
     3     <pInfo id="2" name="第二集" src="image/002.jpg" swf="video/001.flv"/>
     4     <pInfo id="3" name="第三集" src="image/003.jpg" swf="video/002.flv"/>
     5     <pInfo id="4" name="第四集" src="image/004.jpg" swf="video/003.flv"/>
     6     <pInfo id="5" name="第五集" src="image/005.jpg" swf="video/004.flv"/>
     7     <pInfo id="6" name="第六集" src="image/006.jpg" swf="video/005.flv"/>
     8     <pInfo id="7" name="第七集" src="image/007.jpg" swf="video/006.flv"/>
     9     <pInfo id="8" name="第八集" src="image/008.jpg" swf="video/007.flv"/>
    10     <pInfo id="9" name="第九集" src="image/009.jpg" swf="video/008.flv"/>
    11     <pInfo id="6" name="第十集" src="image/010.jpg" swf="video/009.flv"/>
    12     <pInfo id="7" name="第十一集" src="image/011.jpg" swf="video/010.flv"/>
    13     <pInfo id="8" name="第十二集" src="image/012.jpg" swf="video/011.flv"/>
    14     <pInfo id="9" name="第十三集" src="image/013.jpg" swf="video/012.flv"/>
    15 </vid>

    编程资源网盘分享:

    链接: https://pan.baidu.com/s/1slSFJgL 密码: 4ud4

  • 相关阅读:
    misc子系统
    Spring boot+RabbitMQ环境
    Linux input
    lnmp环境的搭建
    DDD的.NET开发框架
    【踩坑记】从HybridApp到ReactNative
    Migrating from IntelliJ Projects
    Windows下Redis中RedisQFork位置调整
    远程仓库版本回退方法 good
    maven repository
  • 原文地址:https://www.cnblogs.com/Hunter-541695/p/7658780.html
Copyright © 2011-2022 走看看