`
a19905522
  • 浏览: 99191 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

flash as3 加载音乐并显示频谱

 
阅读更多
//加载网络音乐 并显示频谱
////这个例子是加载外部的文件,本例为音乐文件,注意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);
}

 

分享到:
评论
1 楼 ddjunshuhong 2012-05-29  
楼主可能发个全点的代码呢?

相关推荐

    AS3制作的音频频谱

    在这个“AS3制作的音频频谱”项目中,我们将探讨如何利用AS3来实时分析音频信号并可视化其频谱。 在AS3中,我们可以使用Sound和SoundChannel类来处理音频。`Sound`类用于加载和控制音频文件,而`SoundChannel`类则...

    Flash 声音频谱

    在本文中,我们将深入探讨Flash声音频谱的相关知识点,如何在Flash环境中实现动态显示声音的频谱,并结合具体的实例——处理名为"song.mp3"的MP3歌曲文件。 Flash是一款强大的交互式多媒体创作工具,曾经广泛应用于...

    基于AS3.0的flash音乐播放器

    【基于AS3.0的Flash音乐播放器】是一款利用ActionScript 3.0编程语言开发的多媒体应用程序,它专门设计用于播放音乐,并提供了一系列高级功能,如歌词显示、频谱分析以及播放进度条控制。ActionScript是Adobe Flash...

    酷靓的AS3 声音频谱分析器演示及源码下载

    AS3声音频谱分析器是一种基于ActionScript 3(AS3)编程语言的软件工具,用于可视化音频信号的频率成分。这种分析器可以帮助开发者或音频爱好者深入理解音频数据,并进行实时的频谱分析。在本文中,我们将详细介绍AS...

    MP3跨域音频频谱AS3播放器

    【MP3跨域音频频谱AS3播放器】是一种基于Adobe Flash ActionScript 3(AS3)技术开发的多媒体播放器,专为处理跨域音频频谱显示而设计。ActionScript是Flash平台上的编程语言,它允许开发者创建交互式、动画化的Web...

    AS3 声音频谱分析器

    AS3声音频谱分析器是一种基于ActionScript 3(AS3)编程语言的工具,用于实时分析和可视化音频信号的频谱。这个分析器适用于Adobe AIR平台,它可以帮助开发者理解和处理音频数据,尤其是在游戏开发、音乐应用或者...

    AS3音乐柱效果

    在本文中,我们将深入探讨如何使用ActionScript 3(AS3)实现音乐柱效果,这是一种常见的视觉表现形式,常用于音乐播放应用或游戏,通过动态的柱状图形来展示音频的频率变化。纯代码实现意味着我们将不依赖任何图形...

    flash音乐播放器

    "Flash音乐播放器"是一种基于Adobe Flash技术的多媒体应用程序,用于播放音频文件并提供互动体验。在这款播放器中,"频谱分析"是其核心功能之一,它允许用户不仅听到音乐,还能可视化声音的频率分布,从而增加了音乐...

    as3.0纯代码MP3播放器

    AS3是Flash Professional或Flex Builder等开发工具中的核心语言。相比于AS2,AS3有着更严格的类型系统、面向对象的特性以及更高的执行效率。在AS3中,所有代码都必须包含在类中,类是对象的蓝图,而对象是程序的...

    显示声音波形的纯as脚本

    这个程序基于AS脚本,利用了Flash平台中的多个关键类,如Graphics、URLRequest、Sound、SoundChannel和SoundMixer,来实现动态绘制声音波形并播放音频。 首先,`Graphics`类是ActionScript中用于在舞台上绘制的基本...

    flash cs3书籍源代码整理

    `Sprite`是AS3中用于图形和动画的基础类,可以包含其他显示对象并处理它们。`wave`类中定义了多个变量,包括`Sound`对象、`ByteArray`对象、数字变量等,用于存储和处理音频数据。`sound.load()`方法加载了外部的MP3...

    as3声音架构的理解.pdf

    AS3(ActionScript 3)作为一种广泛应用于Flash平台的编程语言,提供了强大的多媒体处理能力,包括对音频的支持。本文将深入探讨AS3声音架构的设计理念及其核心组件的功能特性,帮助读者更好地理解和应用AS3中的声音...

    SoundSpectrum.zip

    本文将深入探讨一个基于ActionScript 3 (AS3) 的库——SoundSpectrum.zip,该库专为读取音频频谱并实时显示波形而设计。作为一个非Flex解决方案,它在Flash CC环境中可以直接使用,提供了丰富的示例,让开发者能够...

    flash ActionScript.3小技巧

    ### Flash ActionScript 3 小技巧详解 #### 1. 更改帧速率 在 Flash 开发过程中,有时我们需要更改动画的帧速率以适应不同的场景需求。ActionScript 3 提供了一个简单的方法来实现这一功能: ```actionscript // ...

    [转] 一个使用SoundMixer的炫酷频分析

    标题中的“一个使用SoundMixer的炫酷频分析”指的是在编程中利用SoundMixer类进行音频频谱分析,创建出具有视觉效果的音乐播放器或音频处理工具。SoundMixer是ActionScript 3(AS3)中的一个关键类,主要用于处理...

    flex播放wav的声音

    `FMSynthesis.as`可能涉及到频谱合成技术,而`.actionScriptProperties`和`.project`文件则是Flex项目的配置和设置文件。 总的来说,这个主题涵盖了Flex环境下的音频处理,包括加载、播放WAV文件,以及可能的音频...

    用Actionscript实现声音处理

    它可能包含了各种函数和组件,如频谱分析、波形显示等。这些工具可以极大地提升ActionScript声音处理的深度,例如,通过实时分析音频频率,可以创建有趣的音乐互动效果。 `ASaudio_alpha1.zip`可能是一个早期版本的...

    CMP4(在线音乐播放器) b120729

    主要功能特色有列表式播放(自定义音乐专辑和列表),MP3可视化效果(声音频谱),同步歌词(默认支持lrc歌词以及kmc卡拉ok歌词),高清视频和在线直播(h264/rtmp),自定义皮肤,加载各种插件等等,CMP4支持api的调用,...

Global site tag (gtag.js) - Google Analytics