ActionScript 3.0 :: ComputeSpectrum If Volume Is 0?
Jul 31, 2009
I'm building a media player with a sound visualizer using computeSpectrum(). When I adjust the volume, there is no longer any data for the visualizer. Does anyone know a way to adjust the volume of audio, but still access audio data using computeSpectrum() as if the sound were still audible?
I've created a small music player with a sliding volume control. I'm having trouble with the volume. Though it does control volume properly, if I set the initial volume to less than 100%, the volume always starts at 100% until I move my mouse over the player. At that point, the volume changes to whatever the initial volume is set to.Is this a flash bug, or am I missing something? Here is the affected code (code for other buttons/functions omitted for brevity):
var song_initvolume:Number = 100; slider_1._x = groove_1._x + song_initvolume; playSong(0,song_play);[code]....
I'd like to be able to set the volume at say 50%, but the above mentioned behavior happens each time.
I'm building a video player and am kinda stuck at the volume slider part. It's a YouTube style vertical slider, meaning if the slider is in the top position volume should be 100% and if the slider is dragged to the bottom position sound should be 0. Currently it's doing the opposite of what I want :(
Dragging the slider down will make the sound louder, while dragging up lowers it.
Here is my code below dealing with the volume slider.
[Code]....
The (-4) is an offset value so when you drag it all the way to turn it off, it's 0 and not 4. I need to reverse this somehow, so the traces above will swap... going down will make userVolume = 4 and going up will make it 30.
I've got a serious of games which in turn load off a main main swf.I have mute and unmute buttons on the main menu and the same buttons in each game.When I unload/load a game I want the volume to stay as it is so they player doesn't have to keep turning the volume off. AudioOff is the button shown when the volume is off and AudioOn is the button shown when the volume is on.The code I've got now keeps the volume on or off through the games but the buttons aren't showing up correct with this code..
if (SoundVolume.volume == 1) { AudioOn.visible = false;[code].....
It seems right to me but I don't know. The movie button slides down the slider bar but it just doesn't affect the volume. Going to try to attach my FLA to offer better insight. Just tried to upload it and no matter if it's FLA or zipped FLA, it says it failed.
Using the example found in the class documentation, you'll notice the bass frequencies are crammed on the low end too much, and the higher frequencies will sometimes register even in the bytearray.position = 0 float. Is this a problem with the design of the computeSpectrum class? Because I can take the same file, put it in another spectrum analyzer and see the bass and treble spread more evenly.[URL]
Just wondering how often Flash (as3) will allow me to computeSpectrum? I am currently attempting to computeSpectrum 100 times per second, but I am finding that the data repeats every few times.
am trying to make a mp3 player by using actionscript3.In this , am trying a upload a mp3 file and play that particular file. Am also using the computespectrum() to display the graphics.Now the problem am facing is with the computespectrum . Randomly , the computespectrum is failing for the same file and is throwing error.The error is as follows [code]Am actually uploading the file into a folder named "mp3files". The "mp3files" folder and the swf are lying in the same domain.
Since there's (obviously) only one instance of SoundMixer in any given file, is it not possible to run computeSpectrum discreetly on different soundfiles loaded into an application? Basically I want to visualise each sound differently. Anyone come across any workarounds?
For the past couple of weeks I've been wracking my brains over SoundMixer.computeSpectrum(), arguably the coolest method in ActionScript 3. It's the one that spits out the last 256 (or so) audio samples that hit the speakers, with the option of viewing that data in the time domain (waveform) or the frequency domain (Fourier transform). It's great for visualizing music, but its major drawback is that it only operates on global, playing audio, which means you cannot visualize different channels or preprocess the visualization.
Sound.extract(), a new method in Flash Player 10, gives you a Sound object's entire waveform at any time you want; I've managed to line up the waveform in Sound.extract() perfectly with the waveform in SoundMixer.computeSpectrum(), so they are literally neck-in-neck. In this SWF I'm drawing two lines- a blue line, which uses data from SoundMixer.computeSpectrum(), and a red line, which uses data from
I'm trying to do some beat detection on a sound, but I want other sounds playing at the same time, and I don't want those to be included in the beat detection. Is there anything like SoundMixer.computeSpectrum for individual Sound or SoundChannel instances ?
I managed to run my youtube api and SoundMixer.computeSpectrum.SoundMixer.computeSpectrum are online, positionBar, player.getDuration (), player.getCurrentTime () does not work.Everything is running on localhost.I do not know is the security issue,
I have a Flex3 app I wrote and I'm streaming audio over RTMP from a Red5 server. I'd love to be able to use SoundMixer.computeSpectrum(), but the spectrum data is all zeros. In one location, Adobe writes that SoundMixer.computeSpectrum() does not work with RTMP data:
"For media loaded from RTMP sources, you cannot use the BitmapData.draw() and SoundMixer.computeSpectrum() methods to extract run-time graphics and sound data." [URL] Clear enough. Except, there's the actual documentation for computeSpectrum(): "In addition, this method cannot be used to extract data from RTMP streams, even when it is called by content that reside in the same domain as the RTMP server. [...] This method is supported over RTMP in Flash Player 9.0.115.0 and later and in Adobe AIR."
i have some arbitrary signal data which i'd like to get a frequency analysis of. it's not audio data. is there a way to coerce AS3's computeSpectrum() call into doing this work for me ?
I'm trying to use the code below to show a graphical representation of the sound from externally loaded FLVs, as they play.The code I have is below, can I change this to listen for whatever sounds Flash is playing at the moment and computeSpectrum from tha
Code: var url:String = "song.mp3"; var request:URLRequest = new URLRequest(url);
I am executing a computeSpectrum function every 1/10 of a second (the speed I should be sampling the sound frequency to obtain a data bit). However the computeSpectrum seems to be giving me the same output every two or three times I call it.
Take a look at the source code and check the Binary read. Notice the binary read is repeating numbers, and the lack of single '0' or '1' bits? There should be some single '0's and '1's in there! I even made arrays of all of the input to check if the uncompressed ByteArray data was repeating and sure enough, the samples were quite often IDENTICAL every 2 or 3 calls...
PS: The audio sample data [More audio samples available there] I'm using is Peceptive Development's 'How to talk to Tin Can' [More info on reading audio as data there]. The audio sample provided in the archive is 'Low speed', which means the data is being sent at 100 baud (100 baud / 1000 ms = 10 bits per second)
I was wondering if it is possible to analyze music playing on a user's computer and show visualizations of it using computerSpectrum? Basically, can Flash read the audio playing on a computer or just the user's microphone?
I am just trying to understand what the values sent back from computeSpectrum(bytes,true,0) mean. I have values ranging from 0 to 1 for each float i read from the byte array but does each value represent a range of Hz
I'm used to using SoundMixer.computeSpectrum, but I need to get some data on-the-fly from the microphone (and I can't use the SoundMixer with the microphone).
I'm having trouble translating the FFT data (from this class) as shown in this excellent spectral analysis example to match the ByteArray output from computeSpectrum. My existing code is built to handle the data received from computeSpectrum (with FFT set to true).
I'm developing using Actionscript 3.0 for Flash Player 10.3.I'm using computeSpectrum() on a loaded .mp3. Running *Event.ENTER_FRAME* to get snapshots of each sample in an byteArray.The ByteArray contains 512 values (256 for each channel). These values are FFT Spectrum, ranging from 0 to 1.I can't use the peak frequency for each of the samples (as I found found out!) because the highest value is not necessarily the fundamental frequency. As a result I'm getting lots of random values all over the place.Of course I'm getting some correct too, but that's not enough.
I am trying to develop a sound visualizer and i have developed OO solution but the problem is I get this error:
SecurityError: Error #2121: Security sandbox violation: SoundMixer.computeSpectrum: widget5.swf cannot access . This may be worked around by calling Security.allowDomain. at flash.media::SoundMixer$/computeSpectrum() at widget5/onEnterFrame()
Also if I press continue I get other error
Error: Error #2030: End of file was encountered. at flash.utils::ByteArray/readFloat() at widget5/onEnterFrame()
I wrote something to capture sound from my microphone. I can visualise the sound data with SoundMixer.computeSpectrum.is there a way to mute the sound and still get sound data from SoundMixer.computeSpectrum?Now I have this:
sc=son.play(); var t:SoundTransform = new SoundTransform(0, 0); sc.soundTransform = t;
but I do not get any data. if I pump up the volume, data comes through again(I need to mute it because it will echo otherwise).
i have a Audio button that I have set up and it is all working finebut I would like to set the volume to something like 5/10.and I thought I had is set up right but it does not seem to work.can anyone see what I am doing wrong(note - I get no errors but also no sound control)I should also mention that I don't need the user to control it other than just on and off.
Code: var loadSnd:URLRequest = new URLRequest("ax Mr .l..mp3"); var thisSnd:Sound = new Sound();
I have a tower defense game that I am working on and I'm in the process of adding sounds. Each tower plays its own fire sound when it fires. However When I have 5+ towers of the same type firing at the same time the volume gets louder.
Here is my game as is, the sounds are only in testing stage right now and I am aware that they can get annoying with the current set up.[URL]..
Most noticeably are the air towers. if you feel like listening play my game and first place 1 Air (blue) tower on screen. When the first air wave starts (lvl 4) hear the one tower firing alone and then during this stage add a 2nd tower and the volume almost, if not, doubles.
using action script2 flash cs3, and i need more than one volume slider/control and each control needs to be assigned to one sound, atm i have more than one volume slider but they all control the same sound!
I'm a designer that inherited a project with a volume slider. I'm not that good with actionscript yet and haven't been able to figure out the code. The volume and slider starts at 100%, and I need it to start at 50%. Can you tell me how to set both the volume and slider at 50%? I'm sure it is a simple solution but I can't figure it out. I tried a few things but have not been able to get it to work correctly in both the volume level and start position for the sliderHere's the code on the 2nd frame of the mc:
Code: stop(); var NiVol:Sound = new Sound(_root.Container);
Trying to get the children of lighterBoard to pan to different channels based on their Y coordinate.(children on the left side of the screen play left channel, children in the middle play both, right side, right channel etc.)
volume works on X for the lighterBoard.
Having trouble with Pan and getting it to look at the children.
} function playVol01() { trace("Swoosh Sounded"); Vol01Channel=Vol01Sound.play();