zoukankan      html  css  js  c++  java
  • flex学习笔记2

    1 用flex做一个视频播放器
    注意:如果VideoDisplay没有播放的内容时,调用stop会出现异常
    Error: 1000: UNo bitrate match
    先判断一下:if(flvideo.playing) flvideo.stop();
    2 flex3中全屏模式
    if(displayChk.selected)
                    {
                        stage.displayState="fullScreen";
                    }else{
                        stage.displayState="normal";
                    }
    类flash.display.StageDisplayState未找到,因此直接使用字符串赋值
    在flex的模板文件index.template.html中的AC_FL_RunContent调用参数中增加
     'allowFullScreen','true',
    在object中增加
    xml 代码
     
    1. <param name="allowFullScreen" value="true" />  
    embed下增加
    allowfullscreen="true"

    才能使用全屏模式

    视频播放器源码,包括音量、全屏模式、网络flv播放、定位播放 
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"  width="835" height="782" >  
    3. <mx:Script>  
    4.   <![CDATA[  
    5.      import mx.events.SliderEvent; // 这里是导入所需要的类, 用 import 关键字, 没什么好说的  
    6.      import mx.events.VideoEvent;  
    7.     import flash.events.KeyboardEvent;  
    8.     import mx.controls.Alert;     
    9.    import flash.display.Stage;  
    10.      private var soundPosition:Number;  
    11. // 自定义一个 playingMove() 函数, 作用: 影片播放时, id 为 " my_hs " 的HSlider 控件的值为影片的播放时间, 且最大值为影片的总时长  
    12.      private function playingMove(event:VideoEvent):void{  
    13.          my_hs.value = flvideo.playheadTime;  
    14.         my_hs.maximum=flvideo.totalTime;  
    15.    }  
    16. // 自定义 hs_onChange() 函数, 作用: 当用户拖拉 HSlider 控件使其值发生改变时,  影片的播放头就处于其值处, 即正在播放时间处于其值处  
    17.     private function hs_onchange(event:SliderEvent):void{  
    18.        flvideo.playheadTime = event.value;  
    19.    }  
    20. //停止  
    21.     private function stopMovie(event:MouseEvent):void{  
    22.         flvideo.stop();  
    23.     }  
    24. //播放  
    25.     private function playMovie(event:MouseEvent):void{  
    26.           
    27.         playUrl(urlText.text);  
    28.           
    29.     }  
    30. //暂停  
    31.     private function pauseMovie(event:MouseEvent):void{  
    32.         flvideo.pause();  
    33.     }  
    34. //下拉框  
    35.     private function onChangeUrl(event:KeyboardEvent):void{  
    36.         trace(event.keyCode);  
    37.         if(event.keyCode==13){  
    38.         playUrl(urlText.text);  
    39.           
    40.      }  
    41.     }    
    42.     private function playUrl(url:String):void  
    43.     {  
    44.         if(flvideo.playing)  
    45.          flvideo.stop();  
    46.           
    47.         flvideo.source = url;  
    48.         flvideo.play();  
    49.     }  
    50.    //声音音量控制                    
    51.             private function sound_thumbChanges(event:SliderEvent):void{  
    52.                 soundPosition = hs_sound.value;  
    53.             }  
    54.               
    55.            
    56.             private function sound_thumbRelease(event:SliderEvent):void{  
    57.                 flvideo.volume = soundPosition;  
    58.             }  
    59. //格式化时间  
    60.             private function formatTimes(value:int):String{  
    61.                 var result:String = (value % 60).toString();  
    62.                   
    63.                 if (result.length == 1){  
    64.                     result = Math.floor(value / 60).toString() + ":0" + result;  
    65.                 } else {  
    66.                     result = Math.floor(value / 60).toString() + ":" + result;  
    67.                 }  
    68.                 return result;  
    69.             }  
    70.             private function displayStateChange():void  
    71.             {  
    72.                 if(displayChk.selected)  
    73.                 {  
    74.                     stage.displayState="fullScreen";  
    75.                 }else{  
    76.                     stage.displayState="normal";  
    77.                 }  
    78.             }  
    79.               
    80.   ]]>  
    81. </mx:Script>  
    82. <mx:XML id="xmlData" source="FlvData.xml" format="xml" />  
    83. <mx:VideoDisplay id="flvideo" playheadUpdate="playingMove(event)"  x="10" y="10" autoPlay="false" bufferTime="0.5" maintainAspectRatio="false" width="294" height="219"/>  
    84.     <mx:ControlBar id="ctrlBar" x="10" y="237" width="545" height="52">  
    85.           <mx:TextInput id="urlText" width="150" keyUp="onChangeUrl(event)" fontFamily="Arial" fontSize="12" color="#2C2B3A" enabled="true" height="26" toolTip="请输入flv文件的网络地址"/>  
    86.         <mx:Button  label="Play" click="playMovie(event)"/>  
    87.         <mx:Button  label="Stop" click="stopMovie(event)"/>  
    88.         <mx:Button  label="pause" click="pauseMovie(event)"/>  
    89.           
    90.     </mx:ControlBar>  
    91.     <mx:ControlBar id="ctrlBar0" x="10" y="297" width="545" height="52">  
    92.     <mx:Label   
    93.         text="音量"  
    94.         color="#ffffff"/>  
    95.          <!--播放器声音控制 -->  
    96.         <mx:HSlider id="hs_sound" width="80"  
    97.             minimum="0" maximum="1"  
    98.             thumbRelease="sound_thumbRelease(event)"   
    99.             change="sound_thumbChanges(event)"  
    100.             value="{flvideo.volume}" />  
    101.         <mx:CheckBox id="displayChk" label="全屏模式" change="displayStateChange()"/>  
    102.          
    103.     </mx:ControlBar>  
    104.     <mx:ControlBar id="ctrlBar1" x="10" y="357" width="545" height="52">  
    105.         <mx:Label x="480" y="341" id="playtime"   
    106.         text="{formatTimes(flvideo.playheadTime)} : {formatTimes(flvideo.totalTime)}"  
    107.         color="#ffffff"/>  
    108.         <mx:HSlider  minimum="0"  id="my_hs"  change="hs_onchange(event)" width="179"/>  
    109.          
    110.     </mx:ControlBar>  
    111. </mx:Application>  
  • 相关阅读:
    Ubuntu之:解决屏幕亮度不能调节
    memcached全面剖析–2.理解memcached的内存存储
    并发学习之:多线程编程中条件变量和虚假唤醒的讨论
    ps aux指令详解
    设置中文粗体
    利用SWIG转换C++接口到Java接口
    Dialog
    Ubuntu NDK编译C/C++库
    Android SQLiteConstraintException: error code 19: constraint failed
    ANdroid跟新客户端
  • 原文地址:https://www.cnblogs.com/top5/p/1649979.html
Copyright © 2011-2022 走看看