黑夜的狼

沮丧吗,那就是一种无病呻吟!留恋它就是一种高度近视!目光应该放得更远一点! 别不想飞,只是要一步跨过太平洋!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

package {
 import flash.display.SimpleButton;
 import flash.display.MovieClip;
 import flash.events.Event;
 import flash.events.MouseEvent;
 import flash.media.Sound;
 import flash.media.SoundChannel;
 import flash.media.SoundTransform;
 import flash.display.Stage;
 import flash.net.URLRequest;
 import flash.geom.Rectangle;
 import flash.display.DisplayObject;
 public class DocumentClass extends MovieClip{
  var mp3Url:String="http://localhost/UserVideo/2007108/aaa.mp3";
     var _sound:Sound;
  var _channel:SoundChannel;
  var _SoundTransform:SoundTransform;
  var _position:int;
  var _frameMCSpend:int;
     var mask_play:MovieClip;

  public function DocumentClass() {


   BtnPlay.visible=false;

   // 创建一个声音对象,并播放之
   _sound = new Sound();
   _sound.load(new URLRequest(mp3Url));
   _SoundTransform=new SoundTransform(0.5,0);
   _channel = _sound.play(0,1,_SoundTransform);
   _channel.addEventListener(Event.SOUND_COMPLETE,onSoundEnd);
   mask_play=MovieClip(playBar.getChildByName("mask_play"));
   mask_play.addEventListener(Event.ENTER_FRAME,onBarEnterFrame);

   BtnPlay.addEventListener(MouseEvent.MOUSE_UP,onPlay);

   BtnSuspend.addEventListener(MouseEvent.MOUSE_UP, onPause);
   BtnStop.addEventListener(MouseEvent.MOUSE_UP, onStop);

   BtnBlock.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownListener);
   BtnBlock.addEventListener(MouseEvent.MOUSE_UP, mouseUpListener);
   BtnBlock.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);
   vol.addEventListener(MouseEvent.MOUSE_OUT,mouseOutListener);
  }
  function onSoundEnd(event:Event):void {
   BtnPlay.visible=true;
   BtnSuspend.visible=false;
   _position=0;
  }
  private function onBarEnterFrame(event:Event):void {
   if (_sound.length>0) {
    trace(_sound.bytesTotal);
    trace(_sound.bytesLoaded);
    trace(_sound.length);
    var lengthTotal:int=_sound.bytesTotal/_sound.bytesLoaded*_sound.length;
       playBar.stage.frameRate=1000*mask_play.totalFrames/lengthTotal;
    mask_play.removeEventListener(Event.ENTER_FRAME,onBarEnterFrame);
   }
  }
  function mouseMoveListener(event:MouseEvent):void {
   var newSoundTransform:SoundTransform=new SoundTransform((event.stageX-203.3)/80,0);
   _channel.soundTransform=newSoundTransform;
  }
  function mouseDownListener(event:MouseEvent):void {
   var rectang:Rectangle=new Rectangle();
   rectang.x=203.3;
   rectang.y=63.8;
   rectang.height=0;
   rectang.width=80;
   BtnBlock.startDrag(false,rectang);
  }
  function mouseUpListener(event:MouseEvent):void {
   BtnBlock.stopDrag();
  }
  function mouseOutListener(event:MouseEvent):void{
   BtnBlock.stopDrag();
  }
  function onPlay(event:MouseEvent):void {
   mask_play.gotoAndPlay(mask_play.currentFrame);
   _channel = _sound.play(_position);
   BtnSuspend.visible=true;
   BtnPlay.visible=false;
  }
  function onPause(event:MouseEvent):void {
   mask_play.gotoAndStop(mask_play.currentFrame);
   BtnSuspend.visible=false;
   BtnPlay.visible=true;
   _position = _channel.position;
   _channel.stop();
  }
  function onStop(event:MouseEvent):void {
   mask_play.gotoAndStop(null);
   BtnSuspend.visible=false;
   BtnPlay.visible=true;
   _position=0;
   _channel.stop();
  }
 }
}



本人初学,水平有限~~~若有误,或需要解释的地方请留言
posted on 2007-10-16 16:41  anncesky  阅读(1106)  评论(0编辑  收藏  举报