.net :: Programmatically Extract The Sound Portion Of A Flash SWF File?
Mar 12, 2010Do any libraries exist with this functionality?
View 2 RepliesDo any libraries exist with this functionality?
View 2 RepliesI'm having some trouble getting the following code to work - trying to use the new Sound.extract() function to get two seconds of a Sound into a ByteArray, and then create a new bytearray with a WAV header, and then output the file. The resulting 'test.wav' file sounds very wrong although slightly recognisable? I think I may have some of the WAV header settings may be wrong but I'm not quite sure what's the matter and after a long time scratching
[Code]...
I am developing PDF to e-book converter which will run on a server.I need to programmatically extract embedded fonts from PDF file to finish the project.Now I am able to extract images and text, but to display content in the Flash Player precisely I need the fonts to be extracted from PDF and compiled to SWF to be loaded by Flex application at run time.
I am wondering if it's possible, as such tool as pdf2swf.exe from SWFTools is able to do this. I have decompiled the swf file produced by the tool and there were fonts embedded.The extracted fonts will be used for displaying the same content from PDF file only, just in Flash player. So i think it will not be any rights violation? Moreover, people who will use the converter have all rights for the PDF files content.
So I see next workflow:
1. Call pdf2swf.exe to produce SWF file with fonts embedded;
2. Call some tool (Which one?) to parse previous SWF to SWFs with separate fonts.
3. Load the SWFs with fonts to Flex application at run time to correctly display content.
converting a Sound object into a WAV file (bytearray). The main issue is I need its samples to be 16-bit per channel, and Sound.extract() returns 32-bit floats (per channel).After that I was going to add the wav headers and write the bytearray to disc. I'm widely surprised for not having found an example of it working on the web
View 9 Replieshow to convert bytearray of samples from Sound.extract to bytearray of mp3 file? I want to save editied mp3 to user's local disk.
View 0 RepliesI'm trying to play a sound using a technique found here (play the sound by sampling raw sound data gathered from the original with extract()), with the difference that the mp3 sound is embedded in the swf, not loaded externally. This is my code:
var soundBytes:ByteArray = new ByteArray();
var mp3sound:Sound = Sound(new Sound1_design()); // this is the embedded sound
mp3sound.extract(soundBytes, int.MAX_VALUE);
[Code]....
This works, in a way, except that the resulting sound is distorted (it has a kind of a metallic ring).
What is the easiest way to programmatically extract structured data from a bunch of web pages? I am currently using an Adobe AIR program I have written to follow the links on one page and grab a section of data off of the subsequent pages. This actually works fine, and for programmers I think this(or other languages) provides a reasonable approach, to be written on a case by case basis. Maybe there is a specific language or library that allows a programmer to do this very quickly, and if so I would be interested in knowing what they are.
Also do any tools exist which would allow a non-programmer, like a customer support rep or someone in charge of data acquisition, to extract structured data from web pages without the need to do a bunch of copy and paste?
There is an .fla file that has a sound wave in it's library. However I do not have this sound wave saved on my computer so I can not edit or open this sound in another application. I was wanting to know if its possible to extract this *.wav file from out of the fla library? I did some research and they said to goto export movie and export it as an *.wav file. However I tried this it exported the whole fla file as one big *.wav dud. I tried to play it and nothing happened which makes sense.
View 4 RepliesI'm trying to rig up a basic mp3 cutter in Flash (using the Flex framework)I have gotten so far:
var ba:ByteArray=new ByteArray();
sound.extract(ba, playEnd - playStart, playStart);
This extracts the relevant bytes from the sound object and stores them in ba Then, I do this:
saveFile=new FileReference();
saveFile.save(ba, sound.id3.artist + " - " + sound.id3.songName + ".mp3");
The file saves properly, but it can not be played (Players say it is corrupted) how I can create a valid mp3 file from the byteArray obtained after the extraction?
I am using the following to extract the byte info from a sound object - however if I go back to the same sound object and run this again, The byteArray has no bytes available.
var data:ByteArray = new ByteArray;
sound.extract(data,sound.length*44.1);
data.position = 0;
return data;
Is this the correct behavior? Is there not a way to do this multiple times on the same sound object?
I'm using the following to extract the sound data from a sound object and store this in a byte array.
I require that the entire mp3 be loaded into the bytearray before advancing and the below works fine for this purpose however flash temporarily hangs while it extracts this data (2.4mb mp3)
Is there a way i can stop it from hanging i.e. use an eventlistener to check the progress of the extract process?
[Code]...
I'm trying to create a visual waveform for an MP3. The code I've included is called on successful load of the MP3. I intend to extract just a few important samples from the sound to create the waveform, rather than extract the entire sound into a bytearray. Even on a good machine, extracting an entire song can cause flash to freeze up for 3-5 seconds (or longer!). For my purposes, this isn't feasible.
Unfortunately, the code I've got below is failing to produce any numbers. If I extract the entire song it functions, but extraction of just the key points is giving me nothing. Does performing an extract make the remainder of the sound object invalid for future extracts? If so, is there some way around this that won't freeze flash for an extended period of time during the extract? Some important variables from the rest of the code:
[Code]...
From this AS3 code I expect 500 lines of trace outputs that contain "2048". But instead I get only some lines containing "2048". The rest of the traces print a "0" which shows me that the extract() method did not return any data.
Why is this the case? I would like to iterate through the soundfile with a specific amount of steps to extract 2048 bytes of the sound at the respective position. Extracting the entire soundfile at once would freeze the flashplayer for seconds and is therefore not a good solution for me.This behaviour can be found as long steps is smaller than samplesInSound/2048.The closer it comes to that value, the more lines with a "0" are printed compared to those with a 2048 in it.
var sound:Sound = new Sound();
sound.load(new URLRequest("soundfile.mp3"));
sound.addEventListener(Event.COMPLETE, soundLoaded);[code].....
I had the idea that the extracted part of the soundfile is cut out of the rest of the soundfile after extracting it (like at Actionscript 3 - Sound.extract method empties sound object data), so I tried out another for loop:
for(var i=0; i<samplesInSound - steps * 2048; i += Math.floor(samplesInSound/steps) - 2048) but this didn't work out either.
I am trying to extract images from flash on the following web-site: [URL]
I noticed that every time I click on "Next image", an images is requested from sever. Sample URL is [URL]
So, this URL is exactly what I need, but I don't know how to extract all these URLs from the .swf file I have. I don't have any experience with flash, but I think that URLs should be in the .swf file. I tried "grep '110206os_o_003_T1C1_2pw26' adspage_slider-2.swf", but didn't get any result :(((
I want to extract a video from an swf file and make from it a video to load to youtube(I lost the origianl videos).
The swf was created with flash 5-8(not sure which. how can I check if it is importent?).
When I looked at the source(I don't have the fla) with Sothink SWF Quicker I could export the sound but not the video.
What I did see was that the video was without sound(wierd but true).
I learn that if I want to add sound in flash, I need to put the sound in library, and then assign linkage...
But I have like 100-200 of sounds, and some of them update runtime... So...how can I dynamically add sound to flash project?
I am looking for an Java API to extract and control content from an flash (.swf) file. Are there any existing open source APIs which can help me do that?
View 2 RepliesI'm using Flex builder to work on my flash project, and after reading this article about manipulating sounds using Sound.extract() I got very excited.So I wanted to get using it, but as far as Flex builder is concerned, the sound class doesn't seem to have an extract function, and causes an error if I try.I've downloaded the latest milestone SDK (3.5) and updated the eclipse system (I'm on a mac), but it still doesn't want to recognise the existence of Sound.extract(), even though the function appears withi
View 1 RepliesWhen I extract the bytearray of a sound file I get the raw audio data. Is it possible from that raw audio data to get the decibels?
View 3 Repliesi would like a method to do this.I have a video mp4 play with flvplayback with soundi would like to play sychro mp3 music file with videoBut video have an audio and i would like to keep my audio too.Then how can mix the audio of my mp4 with audio of my mp3?
View 6 RepliesI'm picking up Flash and AS3 after working with AS1 a few years back. My first project is a mp3 player that is able to take an mp3 file, a start loop point, and an end loop point to loop the mp3 without any gaps or breaks in the sound.
blog.andre-michelle.com/2010/playback-mp3-loop-gapless
I found this page that got me started, and went off of that code. The resulting player works perfectly except for one fatal flaw. As far as I know, the mp3 file must be fully loaded to be able to use the Sound.extract method on it, this can take a while when the files are 3-4 MB, especially on slow connections. I want to be able to have the audio start playing as soon as the mp3 file begins loading.Is there any way to use the Sound.extract method on a streaming audio file that has not fully loaded yet?
I'm trying to match the behavior of SoundMixer.computeSpectrum() by using the new Sound.extract() method, so that I can draw music visualizations for separate Sound objects at once. As you know, computeSpectrum() samples the currently playing audio and copies it to a ByteArray. Sound.extract(), on the other hand, copies as much of the Sound as you want to the ByteArray, and does not require the Sound to be playing at the time.
With the Sound data extracted to a ByteArray, I know have about twenty-six thousand floating-point values representing the waveform, from start to finish. However, I'm only interested in about thirty-two of them at a time- the last thirty-two that were played. How do I determine where in the ByteArray that would be?
I'm trying to match the behavior of SoundMixer.computeSpectrum() by using the new Sound.extract() method, so that I can draw music visualizations for separate Sound objects at once. As you know, computeSpectrum() samples the currently playing audio and copies it to a ByteArray. Sound.extract(), on the other hand, copies as much of the Sound as you want to the ByteArray, and does not require the Sound to be playing at the time.
With the Sound data extracted to a ByteArray, I know have about twenty-six thousand floating-point values representing the waveform, from start to finish. However, I'm only interested in about thirty-two of them at a time the last thirty-two that were played. How do I determine where in the ByteArray that would be?
I need to automatically extract some random screenshots from Flash content (swf) in linux.
View 1 RepliesI heard about jsfl (Flash IDE API) so I guess it is possible but I can't find any concrete example ?
View 1 Repliesany thoughts on how to extract the audio from a movie? Pitch shifting is do-able to this article:But the code uses the Sound class.I've NO idea how to go about extracting the audio from a movie/FLVPlayback
View 5 RepliesI would like to be able to create a folder for the copied video frames access the individual frames frome a .flv video file and/or .swf file save these frames to the auto-created folder I assume one would need to do this using Action Script 3 to scan through the .swf and .flv files and extract the frames.
View 2 RepliesI have installed Flash CS4 upgrade successfully with Flash CS3 full. I have also installed Flash CS3 full and then CS4 upgrade, but it made no difference. I cannot test an example that uses sound.extract() method. When I test the movie, I get an error message stating "Call to a possibly undefined method extract through a reference with static type flash.media.Sound".
View 4 RepliesI'm trying to do something simple: send a byteArray to a C library, fill up a buffer and read the memory, but I think I have float conversion problems.
Here is what I do in AS:
var memory:ByteArray = gstate.ds;
// get sound
var soundBytes:ByteArray = new ByteArray();
_source.extract(soundBytes, 4096);
[Code]...
I'm trying to prepend the byte array of a sound object to a captured microphone sound byte array.
It works, but the extracted sound object get pichted down and doubled in length. I guess this is because the byte array of the sound object is in stereo, while the mic byte array is in mono.
I have this:
sound.extract(myByteArray, extract);
myByteArray now contains the stereo data. How can I turn this to mono
UPDATE:
Here's a working solution:
existingByte.position = 0;
var mono : ByteArray = new ByteArray();
while(existingByte.bytesAvailable) {
[Coe]....