动作脚本3:Soundspectrum动画播放但声音静音。这可能吗?

时间:2011-11-08 17:06:41

标签: actionscript-3

有点讽刺的问题,但我想我会继续问无论如何....我正在寻找我的soundpectrum动画播放但我的声音将被静音...这将插入横幅广告,因此它们是供应商的特定解决方案,声音必须由用户启动......

任何想法都会受到赞赏......

var SpectrumLineWidth:Number;
var SpectrumLineColor:Number;
var SpectrumGlowDirection:String;
var SGD:String;
var ss:ByteArray = new ByteArray();
var bmpData:BitmapData;
var bmp:Bitmap;
var lsp:Sprite = new Sprite();
var blur:BlurFilter;
// Main sounds object
var _sound:Sound = new Sound();
var _soundChannel:SoundChannel;
var _soundTransform:SoundTransform=new SoundTransform(1);
var _soundLoaderContext:SoundLoaderContext = new SoundLoaderContext();

bmpData = new BitmapData(10,10,true,0xcccccc);
bmp = new Bitmap(bmpData);
spectrumArea.specArea.addChild(lsp);
spectrumArea.specArea.addChild(bmp);
// filter;
blur = new BlurFilter(8,8,4);
// save configuration
SpectrumLineWidth = 1;
SpectrumLineColor = 0x0066FF;

var s:Sound = new Sound();
//s.setVolume(0);

 var sc:SoundChannel;
 var ba:ByteArray = new ByteArray();
 var array:Array;

 s.load(new URLRequest("test.mp3"));
 sc = s.play(0,1000);
 sc.soundTransform = _soundTransform;

 this.addEventListener(Event.ENTER_FRAME, spectrum);

 function spectrum(event:Event){
lsp.graphics.clear();
lsp.graphics.lineStyle(SpectrumLineWidth, SpectrumLineColor);
lsp.graphics.moveTo(-1, 50);
SoundMixer.computeSpectrum(ss);
for (var i:uint = 0; i<350; i++)
{
    var num:Number =  -  ss.readFloat() * 50 + 50;
    lsp.graphics.lineTo(i, num);
}
bmpData.draw(lsp);
bmpData.applyFilter(bmpData, bmpData.rect,new Point(), blur);

//SGD = SpectrumGlowDirection;
//lsp.graphics.clear();
//lsp.alpha=.5
bmpData.draw(lsp);
   }

//var sd:SoundTransform = new SoundTransform();
//sd.volume=0;
//SoundMixer.soundTransform = new SoundTransform(1);

1 个答案:

答案 0 :(得分:0)

您无法使用SoundMixer.computeSpectrum(ss);执行此操作 查看Sound.extract