//加载网络音乐 并显示频谱
////这个例子是加载外部的文件,本例为音乐文件,注意load方法只能接受URLRequest文件
//加载网络音乐 并显示频谱
////这个例子是加载外部的文件,本例为音乐文件,注意load方法只能接受URLRequest文件
var request:URLRequest=new URLRequest("http://www.wangzi.net/kissrain.mp3");
//定义一个loader
var loader:Loader = new Loader();
//为加载过程建立事件侦听器
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
//加载完成的事件侦听器
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
//加载过程中执行
function loadProgress(event:ProgressEvent):void {
var percentLoaded:Number=event.bytesLoaded/event.bytesTotal;
percentLoaded=Math.round(percentLoaded*100);
txt.text="音乐已缓冲 "+percentLoaded+"%"+"";
}
//加载完成后执行
function loadComplete(event:Event):void {
trace("Complete");
}
//载入
loader.load(request);
//放置在场景中
var shengyin:Sound=new Sound();
//用load方法把dizhi加载进来
shengyin.load(request);
//控制声音:播放
shengyin.play();
var _sound:Sound=new Sound();
var _channel:SoundChannel=new SoundChannel();
var url:String="http://www.wangzi.net/kissrain.mp3";
var _request:URLRequest = new URLRequest(url);
_sound.load(_request);
_channel=_sound.play();
var bxzr:Sprite=new Sprite();
addChildAt(bxzr,1);
var bx:Sprite=new Sprite();
bxzr.addChild(bx);
var byteArray:ByteArray = new ByteArray();
var n:Number=10;
addEventListener(Event.ENTER_FRAME,yx);
function yx(event:Event):void {
bx.graphics.clear();
SoundMixer.computeSpectrum(byteArray,true,1);//将当前声音输出为ByteArray
for (var i=0; i <200; i=i+5) {
n = byteArray.readFloat()*60;//把数据流读取成浮点数并扩大其值
bx.graphics.lineStyle(3,0xFFFFFF,1,true,"noSacle","none");
bx.graphics.moveTo(27+i,50);
bx.graphics.lineTo(27+i,50-n)
bx.graphics.lineStyle(3,0xFFFFFF,0.2,true,"noSacle","none");
bx.graphics.lineTo(27+i,50+n);
}
}
////////////////////////////////////////////////////////////////////////////////////////
另一种频谱效果import flash.display.Graphics;
import flash.events.Event;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundMixer;
import flash.net.URLRequest;
const PLOT_HEIGHT:int=200;
const CHANNEL_LENGTH:int=256;
var snd:Sound = new Sound();
var req:URLRequest=new URLRequest("http://www.wangzi.net/kissrain.mp3");
snd.load(req);
var channel:SoundChannel;
channel=snd.play();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
snd.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete);
var bytes:ByteArray = new ByteArray();
function onEnterFrame(event:Event):void {
SoundMixer.computeSpectrum(bytes, false, 0);
var g:Graphics=this.graphics;
g.clear();
g.lineStyle(0, 0xFF0000);
g.beginFill(0xFF0000);
g.moveTo(0, PLOT_HEIGHT);
var n:Number=0;
// left channel
for (var i:int = 0; i < CHANNEL_LENGTH; i++) {
n = (bytes.readFloat() * PLOT_HEIGHT);
g.lineTo(i * 2, PLOT_HEIGHT - n);
}
g.lineTo(CHANNEL_LENGTH * 2, PLOT_HEIGHT);
g.endFill();
// right channel
g.lineStyle(0, 0xCC0066);
g.beginFill(0xCC0066, 0.5);
g.moveTo(CHANNEL_LENGTH * 2, PLOT_HEIGHT);
for (i = CHANNEL_LENGTH; i > 0; i--) {
n = (bytes.readFloat() * PLOT_HEIGHT);
g.lineTo(i * 2, PLOT_HEIGHT - n);
}
g.lineTo(0, PLOT_HEIGHT);
g.endFill();
}
function onPlaybackComplete(event:Event) {
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
}
分享到:
相关推荐
柱状音乐频谱 可根据个人爱好自定义频谱柱状效果 背景音乐可以自定义 可单独作为一个特效嵌入到元件中。
c# 音乐播放器,频谱显示
做了一个简单的音乐播放器,有很多的功能没有完善,希望和做音乐播放器的朋友交流
手把手教你用51单片机DIY音乐频谱显示
Android应用源码音乐实时跳动频谱显示.zip
最近由于需要实现音乐频谱,所以今天就为大家普及一下。关于音乐频谱你需要了解数字信号处理的知识,尤其是FFT的知识。简单说就是把时域上连续的信号(波形)强度转换成离散的频域信号(频谱)。我理解波形就是信号的...
Android应用源码音乐实时跳动频谱显示
51单片机频谱音乐显示程序 15系列单片机 矩阵显示 12*8
本资源内含STM32源程序和PCB文件。可直接DIY制作。 声明: 本资料仅供娱乐参考。如转发或在其他平台发布,请注明。
很漂亮的频谱,有五种频谱显示效果,是一个老外开发的。想开发AS3播放器的朋友可以使用这个
基于AS3.0的flash音乐播放器 实现对音频的各种操作,并显示歌词、频谱、播放进度条
使用FFT傅里叶变换,实现音乐频谱显示,程序是配点阵显示屏
这是一个基于stm32的音乐频谱显示,最大采样频率达到6KHz,能够满足一般的音乐播放要求,其中采样FFT变换,将音频信号转变为恁俩信号显示出来
音乐显示频谱,可以全屏还算不粗希望能对大家有帮助
c# 音乐,播放器,照片轮询,文件加载,频谱显示, bass
这是一个音乐读取,时域波形显示(静态),频域频谱(静态),音乐变调,频谱分析的Matlab源程序,纯自己编写!
音乐频谱显示程序DELPHI源代码)!注意:要显示频谱,先用播放器打开一个音乐文件!
利用单片机C语言实现频谱舞动,利用led显示屏或led小灯均可以实现
基于FFT的arduino音乐频谱显示,通过麦克风采样,然后通过LCD1602A显示
as3音频频谱源代码,清楚易懂。使用flashDevelop开发工具