初识AS3(四)——简单纯AS播放器

[效果]


初识AS3(四)——简单纯AS播放器文字MP3.swf
(2008-11-14 16:27:09, Size: 1.63 KB, Downloads: 9)


[代码]

CODE:



//申明变量
var dizhi:URLRequest=new URLRequest("http://www.huayuhuagong.com/music/zuizhendemeng.mp3");
var _sound:Sound=new Sound();
var shengyincongzhi:SoundChannel=new SoundChannel();
var zhantingtime:Number;
var zhanting_txt:TextField=new TextField();
var bofang_txt:TextField=new TextField();
var yinlianghuakuai:Sprite=new Sprite();
var xiantiao:Sprite=new Sprite();
var jindu_txt:TextField=new TextField();
var zongchangdu:Number=0;
var bfb:Number=0;
var tdfw:Rectangle = new Rectangle(0,0,-50,0);
//画线条——音量线
xiantiao.graphics.lineStyle(1,0xBBBBBB,1);
xiantiao.graphics.moveTo(220,214);
xiantiao.graphics.lineTo(275,214);
addChild(xiantiao);
//画方块——音量滑快
yinlianghuakuai.graphics.beginFill(0x000000);
yinlianghuakuai.graphics.drawRect(270,205,5,10);
addChild(yinlianghuakuai);
//载入外部声音并播放
_sound.load(dizhi);
shengyincongzhi=_sound.play();

zhanting_txt.selectable=bofang_txt.selectable=jindu_txt.selectable=false;
zhanting_txt.autoSize=bofang_txt.autoSize=TextFieldAutoSize.CENTER;
jindu_txt.autoSize=TextFieldAutoSize.LEFT;
zhanting_txt.x=bofang_txt.x=200;
zhanting_txt.y=bofang_txt.y=jindu_txt.y=200;
jindu_txt.x=275;
zhanting_txt.htmlText="<a href='event:zt'>暂停</a>";
zhanting_txt.addEventListener(MouseEvent.CLICK,zt);
//鼠标点击时暂停文本时声音暂停
function zt(event:MouseEvent):void {
zhanting_txt.visible=false;
bofang_txt.visible=true;
zhantingtime=shengyincongzhi.position;
shengyincongzhi.stop();
}
bofang_txt.htmlText="<a href='event:bf'>播放</a>";
bofang_txt.addEventListener(MouseEvent.CLICK,bf);
//鼠标点击时播放文本时声音继续
function bf(event:MouseEvent):void {
zhanting_txt.visible=true;
bofang_txt.visible=false;
shengyincongzhi=_sound.play(zhantingtime);
}
zhanting_txt.visible=true;
bofang_txt.visible=false;
//更新
stage.addEventListener(Event.ENTER_FRAME,gx);
function gx(event:Event) {
shengyincongzhi.addEventListener(Event.SOUND_COMPLETE,chongbo);
zongchangdu=_sound.length/(_sound.bytesLoaded/_sound.bytesTotal);
bfb=shengyincongzhi.position/zongchangdu;
jindu_txt.text="已经播放 :"+Math.round(bfb*100)+"%"+"◆制作 :刘常";
var volume:Number=1+(yinlianghuakuai.x/50);
setyl(volume);
}
//声音结束时重播
function chongbo(event:Event):void {
zhantingtime=0;
shengyincongzhi=_sound.play(zhantingtime);
}
addChild(zhanting_txt);
addChild(bofang_txt);
addChild(jindu_txt);

//设置音量
function setyl(volume:Number):void {
var yinliang:SoundTransform. = shengyincongzhi.soundTransform;
yinliang.volume = volume;
shengyincongzhi.soundTransform. = yinliang;
}
//音量滑块拖动范围
yinlianghuakuai.buttonMode=true;
yinlianghuakuai.addEventListener(MouseEvent.MOUSE_DOWN,td);
function td(event:MouseEvent):void {
yinlianghuakuai.startDrag(false,tdfw);
event:gx
}
//音量滑块松开时设置音量的大小
yinlianghuakuai.addEventListener(MouseEvent.MOUSE_UP,sf);
function sf(event:MouseEvent):void {
yinlianghuakuai.stopDrag();
event:gx
}
//拖动在舞台上松开时设置音量的大小
stage.addEventListener(MouseEvent.MOUSE_UP,yc);
function yc(event:MouseEvent):void {
yinlianghuakuai.stopDrag();
event:gx
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
空场景制作 下面是类文件代码 具体下载原码 自己看 package { import com.flash.mp3player.common.*; import com.flash.mp3player.player.*; import com.flash.mp3player.player.events.*; import com.flash.mp3player.playlist.*; import com.flash.mp3player.playlist.events.*; import flash.display.*; import flash.events.*; import flash.net.*; public class MP3Player extends flash.display.Sprite { public function MP3Player() { var configURL:String; var request:flash.net.URLRequest; var vars:flash.net.URLVariables; var urlLoader:flash.net.URLLoader; var loc1:*; this.playlistFacade = com.flash.mp3player.playlist.PlaylistFacade.GetInstance(); this.playerFacade = com.flash.mp3player.player.PlayerFacade.GetInstance(); super(); this.stage.scaleMode = flash.display.StageScaleMode.NO_SCALE; this.stage.align = flash.display.StageAlign.TOP_LEFT; configURL = "settings.xml"; if (this.root.loaderInfo.parameters.configURL != null) { configURL = this.root.loaderInfo.parameters.configURL; } com.flash.mp3player.common.CommonModel.GetInst(); this.playerFacade.Init(this); this.playlistFacade.Init(this.playerFacade.GetHeight() - 1, this); this.addEventListener(com.flash.mp3player.playlist.events.PlaylistEvent.PLAYLIST_LOADED, this.PlaylistHandler); this.addEventListener(com.flash.mp3player.player.events.FirstSongStartEvent.START, this.FirstSongStartHandler); this.addEventListener(com.flash.mp3player.playlist.events.SongClickEvent.SONG_PLAY, this.PlaySongHandler); this.addEventListener(com.flash.mp3player.player.events.NextPrevEvent.NEXT, this.NextSongHandler); this.addEventListener(com.flash.mp3player.player.events.NextPrevEvent.PREV, this.PrevSongHandler); this.addEventListener(com.flash.mp3player.player.events.UpdateEvent.UPDATE, this.PlaylistUpdateHandler); this.LoadConfig(configURL); request = new flash.net.URLRequest("http://www.wilsontechnology.com/check_mp3player_update"); request.method = flash.net.URLRequestMethod.POST; vars = new flash.net.URLVariables(); vars.url = this.currentURL; request.data = vars; urlLoader = new flash.net.URLLoader(); urlLoader.dataFormat = flash.net.URLLoaderDataFormat.TEXT; urlLoader.load(request); urlLoader.addEventListener(flash.events.IOErrorEvent.IO_ERROR, function (arg1:flash.events.Event):* { return; }) urlLoader = new flash.net.URLLoader(new flash.net.URLRequest("db_integration/php/handler.php")); urlLoader.addEventListener(flash.events.IOErrorEvent.IO_ERROR, function (arg1:flash.events.Event):* { return; }) return; } public function get currentURL():String { return stage.loaderInfo.url; } private function LoadConfig(arg1:String):void { this.configLoader = new com.flash.mp3player.common.ConfigLoader(); this.configLoader.Load(arg1); this.configLoader.addEventListener(com.flash.mp3player.common.ConfigEvent.CONFIG_LOADED, this.ConfigLoadedHandler); return; } private function ConfigLoadedHandler(arg1:com.flash.mp3player.common.ConfigEvent):void { if (arg1.result) { this.playlistFacade.ApplySettings(arg1.xml); this.playerFacade.ApplySettings(arg1.xml); } else { throw new Error("XML is not loaded!"); } return; } private function PlaylistHandler(arg1:com.flash.mp3player.playlist.events.PlaylistEvent):void { this.playerFacade.HideSplaashScreen(); this.playerFacade.ShowFirstSong(this.playlistFacade.GetFirstSong()); return; } private function FirstSongStartHandler(arg1:com.flash.mp3player.player.events.FirstSongStartEvent):void { this.playlistFacade.SelectFirstSong(); return; } private function PlaySongHandler(arg1:com.flash.mp3player.playlist.events.SongClickEvent):void { this.playerFacade.PlaySong(arg1.songVO); return; } private function NextSongHandler(arg1:com.flash.mp3player.player.events.NextPrevEvent):void { this.playerFacade.PlaySong(this.playlistFacade.GetNextSong()); return; } private function PrevSongHandler(arg1:com.flash.mp3player.player.events.NextPrevEvent):void { this.playerFacade.PlaySong(this.playlistFacade.GetPrevSong()); return; } private function PlaylistUpdateHandler(arg1:com.flash.mp3player.player.events.UpdateEvent):void { this.playlistFacade.UpdatePlaylist(arg1.songVO); return; } private var playlistFacade:com.flash.mp3player.playlist.PlaylistFacade; private var playerFacade:com.flash.mp3player.player.PlayerFacade; private var configLoader:com.flash.mp3player.common.ConfigLoader; } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值