·您当前的位置:首页 > 技术教程 > 播放器教程 >

[AS3]AS3.0写的一个mp3播放器源代码的实例

时间:2014-04-02 23:149ria.com
[AS3]AS3.0写的一个mp3播放器源代码的实例,mp3播放器,mp3播放器源代码

[AS3]AS3.0写的一个mp3播放器源代码的实例,mp3播放器,mp3播放器源代码

  1. package { 
  2.     import flash.display.*; 
  3.     import flash.events.*; 
  4.     import flash.media.Sound; 
  5.     import flash.media.SoundChannel; 
  6.     import flash.media.SoundLoaderContext; 
  7.     import flash.media.ID3Info; 
  8.     import flash.net.URLRequest; 
  9.     import flash.external.ExternalInterface; 
  10.     import flash.utils.*; 
  11.       
  12.     public class alarmSound extends Sprite{ 
  13.         private var alarm:Sound; 
  14.         private var mp3URL:String = "http://www.cuplayer.com/test.mp3"; //"alarm_2.mp3"; 
  15.         private var song:SoundChannel; 
  16.           
  17.         function alarmSound() { 
  18.             inited(); 
  19.         } 
  20.           
  21.         private function inited():void { 
  22.             alarm = new Sound(); 
  23.               
  24.             var req:URLRequest = new URLRequest(mp3URL); 
  25.             var buffer:SoundLoaderContext = new SoundLoaderContext(5*1000); 
  26.               
  27.             alarm.addEventListener(Event.COMPLETE, completeHandler); 
  28.             alarm.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); 
  29.             alarm.addEventListener(ProgressEvent.PROGRESS, processHandler); 
  30.             alarm.addEventListener(Event.ID3, id3Handler); 
  31.               
  32.             alarm.load(req, buffer); 
  33.               
  34.             song = alarm.play(0, 0);//CuPlayer.com提示:从0开始,循环1次 
  35.               
  36.             song.addEventListener(Event.SOUND_COMPLETE, playCompleteHandler);           
  37.               
  38.         } 
  39.           
  40.         private function processHandler(pro:ProgressEvent):void { 
  41.             var percent:Number = Math.floor(pro.bytesLoaded/pro.bytesTotal*100*100)/100; 
  42.             trace(pro.bytesLoaded + "---" + pro.bytesTotal + "CuPlayer.com提示:已加载..." + percent + "%"); 
  43.         } 
  44.           
  45.         private function playCompleteHandler(...args):void { 
  46.             //trace(alarm.length/1000 + "---" + song.position/1000); 
  47.               
  48.             var estimatedTotal:Number = Math.ceil(alarm.length / (alarm.bytesLoaded / alarm.bytesTotal)); 
  49.             var position:Number = Math.round(100 * (song.position / estimatedTotal)); 
  50.               
  51.             trace(estimatedTotal/1000/60 + "----" + position); 
  52.         } 
  53.           
  54.         private function completeHandler(evt:Event):void { 
  55.             alarm.removeEventListener(Event.COMPLETE, completeHandler); 
  56.               
  57.             //trace(alarm.length + "---" + song.position); 
  58.         } 
  59.           
  60.         private function ioErrorHandler(evt:Event):void { 
  61.               
  62.         } 
  63.           
  64.         private function id3Handler(evt:Event):void { 
  65.             var id3:ID3Info = alarm.id3; 
  66.               
  67.             trace('CuPlayer.com提示:音乐名称:' + id3.songName); 
  68.             trace('CuPlayer.com提示:专辑: ' + id3.album); 
  69.             trace('CuPlayer.com提示:艺术家:' + id3.artist); 
  70.         } 
  71.           
  72.     }   

[AS3]AS3.0写的一个mp3播放器源代码的实例,mp3播放器,mp3播放器源代码

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器