杨钰莹(yáng yù yíng )生日开通今日头条 特意摄像录制声音甜蜜

杨钰莹(yáng yù yíng )生日开通今日头条 特意摄像录制声音甜蜜

图片 1 歌星网讯
明日是杨钰莹(Yang Yuying)的上饶,杨钰莹(Yang Yuying)的调治将养集团柏林星时代文化也接纳明日独家落户天涯论坛网易。届时杨钰莹女士将通过温哥华星时代文化官方网易更新她的最新音信。杨钰莹女士于1988年间前期曾红极偶尔,其专辑销量第一名,她曾是炎黄唱片销量最高的歌唱家,至今无人打破其所创的百万记录。与毛宁搭档演唱被客官叫好为“金童玉女”,《心雨》《笔者不想说》《轻轻地告知你》《等歌曲对中中原人民共和国流行音乐的向上具有里程碑的意义。
199柒年杨钰莹女士宣布退出歌坛,并在现在的几年中前往周游世界学习。201一年四月,杨钰莹(yáng yù yíng )与一同毛宁携手参与布Rees班卫视的《时期秀》节目,并演唱杰出歌曲正式复出。据说杨钰莹(yáng yù yíng )的再现得益于其很好的朋友也是赫赫有名音乐人陈小奇的一再告诫。二〇一一年7月十四日,杨钰莹(Yang Yuying)复出后第一回亮相中央电视台《欢娱中中原人民共和国行》。
后天1一时0八分杨钰莹(Yang Yuying)通过深圳星时期文化官这段时间日头条向今日头条网络朋友们问好,“亲爱的莹火虫、朋友们:一点也不慢乐有一片天地能够属于我们,我们能够在此处友善快乐地享用平凡生活的大悲大喜。音乐是最美的事物是天堂赐予的安心乐意。音乐令面生变成熟识,带来鼓励,温暖和爱!多谢我们,祝大家幸福!”其余杨钰莹女士还特意摄像了摄像给众位观众。
录制中的杨钰莹(Yang Yuying)照旧声音甜美温柔,外形照旧清纯丝毫未曾时间的划痕,杨钰莹女士在录制中意味希望通过音乐跟大家大饱眼福生活中的喜怒哀乐,未来会常在今日头条中与我们沟通。

<?xml version=”1.0″ encoding=”utf-8″?>  

<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml
layout=”absolute” height=”312″ width=”328″ creationComplete=”init()”>
 

<mx:Script>  

 <![CDATA[  

  //预约义表明  

  import mx.controls.Alert;  

  import mx.events.SliderEvent;  

    

  //创立多少个基本的互连网连接对象  

  private var vi:Video;  

  private var cam:Camera;      //定义一个拍照头  

  private var inNs:NetStream;  

  private var outNs:NetStream;   

  private var nc:NetConnection;  

  //private var mic:Microphone; //定义四个Mike风  

   

  private var _duration:Number;            //摄像播放时间  

  private var playPosition:Number;         //定义播放进程地方  

  //private var soundPosition:Number;    //定义声音轻重决定条的位置  

  private var flag:Boolean = false;          

  private var lastVideoName:String = “”;   //摄像摄像后保存的名字  

  private var _url:String = “rtmp://127.0.0.1:1935/videoRec”;  

    

  public function init():void{  

   setupCamera();    //开首化录制头音信  

  }  

  //开端摄像按扭点击  

  public function clickConnect():void{  

    nc = new NetConnection();  

    nc.addEventListener(NetStatusEvent.NET_STATUS,nsHandler);  

             nc.connect(_url);         //连接red5服务器  

  }    

  public function nsHandler(evt:NetStatusEvent):void{  

   if (evt.info.code == “NetConnection.Connect.Success”){          
//假如连接成功  

    playClick();  

    }else{  

     Alert.show(“连接失利”);      

    }      

  }  

  //伊始摄像  

  public function playClick():void{     

   if(vi != null){  

    vi.clear();  

    vdisplay.removeChild(vi);  

    vi = new Video();  

    vi.width = 320;  

    vi.height = 240;  

    vi.attachCamera(cam);  

       vdisplay.addChild(vi);  

   }  

   outNs = new NetStream(nc);         

   outNs.attachCamera(cam);   //把录制头存入outNs  

   //outNs.attach奥迪o(mic);          //把迈克风存入outNs  

   lastVideoName = “red5RecordDemo_” + Math.random()+getTimer();  

   outNs.publish(lastVideoName, “record”);  

        

   startRec.enabled = false;  

   stopRec.enabled = true;     

  }    

  //停止摄像  

  public function stopClick():void{  

   //关闭ns与red5的连接  

   outNs.close();   

   vi.clear();  

   vdisplay.removeChild(vi);    

   //锁定初始开关使其收效  

   startRec.enabled = true;  

   //锁定甘休开关使其失效  

   stopRec.enabled = false;  

  }    

  //摄像完今后播放  

  public function playLastVideo():void{  

     if(nc!=null){  

      //addEventListener(Event.ENTER_FRAME,onEnterFrame);  

       inNs = new NetStream(nc);  

    //定义onMetaData,获取摄像相关数据  

    var customClient:Object = new Object();  

    customClient.onMetaData = function(metadata:Object):void{  

     _duration = metadata.duration; //获取录制持续时间  

     t_sh.maximum = _duration;  

    }  

    inNs.client = customClient;  

    //删除原_localVideo,便于在摄像和广播录制之间切换  

    vi = new Video();  

    vi.width = 320;  

    vi.height = 240;  

    vi.attachNetStream(inNs);  

    vdisplay.addChild(vi);   

    inNs.play(lastVideoName+”.flv”);  

    addEventListener(Event.ENTER_FRAME,onEnterFrame);   

     }  

  }  

    

  //早先化录像头  

  public function setupCamera():void{  

   //运转录像头  

   cam = Camera.getCamera();   

   if(cam != null){  

    cam.addEventListener(StatusEvent.STATUS,onStatusHandler);  

    cam.setMode(320,240,30);  

    cam.setQuality(0,70);  //设置清晰度  

    vi = new Video();  

    vi.width = 320;  

    vi.height = 240;  

    vi.attachCamera(cam);  

    vdisplay.addChild(vi);  

  

   }  

//   mic = Microphone.getMicrophone();  

//   if(mic != null){  

//    mic.setSilenceLevel(0,-1);
//设置迈克风保持活动状态并不断吸收接纳集音频数据  

//    mic.gain = 80; //设置迈克风声音轻重  

//   }  

  }  

    

  private function onStatusHandler(event:StatusEvent):void{  

   if(!cam.muted){   //决断摄像头存不设有  

    startRec.enabled = true;  

   }else{  

    Alert.show(“错误:不也许链接到活动摄像头!”)  

   }  

   cam.removeEventListener(StatusEvent.STATUS,onStatusHandler);  

  }  

    

  public function thumbPress(event:SliderEvent):void{  

      inNs.togglePause();  

   removeEventListener(Event.ENTER_FRAME,onEnterFrame);  

  }  

  private function thumbChanges(event:SliderEvent):void{  

    playPosition = t_sh.value;      
 //当前播报摄像进度的岗位=当前播送进度条的职分  

    inNs.seek(playPosition);   

    addEventListener(Event.ENTER_FRAME,onEnterFrame);  

  }  

  private function thumbRelease(event:SliderEvent):void{    
 //释放mouse后执行  

   inNs.seek(playPosition);                            
//查找当前进程条地方  

   inNs.togglePause();  

      addEventListener(Event.ENTER_FRAME,onEnterFrame);  

  }  

  public function onEnterFrame(event:Event):void{  

   if(_duration > 0 && inNs.time > 0){
//如若视频时间和正在播放摄像的时刻超越0  

    t_sh.value =inNs.time;  

    lbtime.text = formatTimes(inNs.time) + ” / “+
formatTimes(_duration);  

   }     

   if(formatTimes(inNs.time)==formatTimes(_duration)){  
 //假如播放完毕,则关毕流,初阶化摆放时间的label  

      if(flag==true){        //如若是加载,就不实行||false代表是加载,true代表是广播完毕  

     removeEventListener(Event.ENTER_FRAME,onEnterFrame);  

     inNs.close();      

     lbtime.text = “0:00 / “+ formatTimes(_duration);  

    }  

       setTimeout(function():void{flag = true;},1000);  

   }  

   }  

  //时间格式操作  

  private function formatTimes(value:int):String{  

   var result:String = (value % 60).toString();  

   if (result.length == 1){  

    result = Math.floor(value / 60).toString() + “:0” + result;  

   } else {  

    result = Math.floor(value / 60).toString() + “:” + result;  

   }  

   return result;  

  }    

  //声音音量调整  

//  private function sound_thumbChanges(event:SliderEvent):void{  

//   soundPosition = th_sound.value;  

//  }  

//  private function sound_thumbRelease(event:SliderEvent):void{  

//   vdisplay.volume = soundPosition;  

//  }  

  

 ]]>  

</mx:Script>  

 <mx:VideoDisplay x=”0″ y=”0″ width=”324.5″ height=”240″
id=”vdisplay”/>  

 <mx:Button x=”10″ y=”250″ label=”早先摄像” id=”startRec”
click=”clickConnect()” enabled=”false” />  

 <mx:Button x=”拾” y=”280″ label=”截止录像” width=”70″ id=”stopRec”
click=”stopClick()” enabled=”false” />  

 <mx:Button x=”253″ y=”268″ label=”播放” click=”playLastVideo()”
 />  

 <mx:HSlider x=”98″ y=”248″ width=”143″ id=”t_sh”
thumbPress=”thumbPress(event)” thumbRelease=”thumbRelease(event)”
change=”thumbChanges(event)”/>  

 <mx:Label x=”237″ y=”242″ text=”0:00/0:00″ width=”89″
textAlign=”center” height=”18″ id=”lbtime”/>  

 <!–mx:HSlider x=”98″ y=”278″ width=”91″ id=”th_sound” minimum=”0″
maximum=”1″ value=”{vdisplay.volume}”
change=”sound_thumbChanges(event)”
thumbRelease=”sound_thumbRelease(event)”/>  

 <mx:Label x=”187″ y=”270″ text=”sound” height=”20″ width=”44″
textAlign=”center”/–>   

</mx:Application>  

  

注:  

  

一.red⑤做服务器,后边代码其实什么也一直不,最注重的要么前端flex代码,当然还有个别配置难点,相信做过red伍 simple   demo的仇人应该知道,在那就不一一细说了.  

  

2.小说中注释地点是音频的摄像,因为本机上无迈克风所以就屏掉了。假设要增添些功效,去掉注释就能够。
 

  

三.之下是前者展现图

 图片 2

 

admin

网站地图xml地图