as 3加载mp3

简介: package { import flash.display.*; import flash.events.*; import flash.media.Sound; import flash.
package {
	import flash.display.*;
	import flash.events.*;
	import flash.media.Sound;
	import flash.media.SoundChannel;
	import flash.media.SoundLoaderContext;
	import flash.media.ID3Info;
	import flash.net.URLRequest;
	import flash.external.ExternalInterface;
	import flash.utils.*;
	
	public class alarmSound extends Sprite{
		private var alarm:Sound;
		private var mp3URL:String = "http://img.3bu.cn/ring/ring/201003041507952.mp3"; //"alarm_2.mp3";
		private var song:SoundChannel;
		
		function alarmSound() {
			inited();
		}
		
		private function inited():void {
			alarm = new Sound();
			
			var req:URLRequest = new URLRequest(mp3URL);
			var buffer:SoundLoaderContext = new SoundLoaderContext(5*1000);
			
			alarm.addEventListener(Event.COMPLETE, completeHandler);
			alarm.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
			alarm.addEventListener(ProgressEvent.PROGRESS, processHandler);
			alarm.addEventListener(Event.ID3, id3Handler);
			
			alarm.load(req, buffer);
			
			song = alarm.play(0, 0);//从0开始,循环1次
			
			song.addEventListener(Event.SOUND_COMPLETE, playCompleteHandler);			
			
		}
		
		private function processHandler(pro:ProgressEvent):void {
			var percent:Number = Math.floor(pro.bytesLoaded/pro.bytesTotal*100*100)/100;
			trace(pro.bytesLoaded + "---" + pro.bytesTotal + "已加载..." + percent + "%");
		}
		
		private function playCompleteHandler(...args):void {
			//trace(alarm.length/1000 + "---" + song.position/1000);
			
			var estimatedTotal:Number = Math.ceil(alarm.length / (alarm.bytesLoaded / alarm.bytesTotal));
			var position:Number = Math.round(100 * (song.position / estimatedTotal));
			
			trace(estimatedTotal/1000/60 + "----" + position);
		}
		
		private function completeHandler(evt:Event):void {
			alarm.removeEventListener(Event.COMPLETE, completeHandler);
			
			//trace(alarm.length + "---" + song.position);
		}
		
		private function ioErrorHandler(evt:Event):void {
			
		}
		
		private function id3Handler(evt:Event):void {
			var id3:ID3Info = alarm.id3;
			
			trace('音乐名称:' + id3.songName);
			trace('专辑: ' + id3.album);
			trace('艺术家:' + id3.artist);
		}
		
	}	
}
目录
打赏
0
0
0
0
2
分享
相关文章
|
10月前
|
如何将BDMV文件转换为MKV或MP4?
许多拥有蓝光光驱的用户可能在电脑上存储了一些BDMV文件。虽然这些文件提供了高质量的视频和音频,但由于其文件格式的限制,它们可能无法在某些设备上播放。因此,将BDMV文件转换为常见的MKV或MP4文件就变得非常重要。本文将介绍一种简单而有效的方法来完成这个转换过程。
1437 2
音乐播放 pygame mp3play 和获取音乐信息的 库from mutagen.mp3 import MP3
音乐播放 pygame mp3play 和获取音乐信息的 库from mutagen.mp3 import MP3
带你写一个Mp文件解析器-Mp3文件结构全解析(一)
ID3V2一共有四个版本,ID3V2.1/2.2/2.3/2.4,目前流行的播放软件一般只支持第三版即ID3V2.3,由于ID3V1记录在文件的末尾处,ID3V2就只能记录在文件的首部了,也是因为这个原因,对ID3V2的操作比ID3V1要慢,而且ID3V2的结构比ID3V1的结构复杂的多,但是ID3V2可以记录更多的信息,长度可变
23349 4
MP4文件格式的解析,以及MP4文件的分割算法
MP4文件格式的解析,以及MP4文件的分割算法
195 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等