ActionScript 3.0 :: Start Sound - Delay In Loaded MP3 Playing
Feb 2, 2009
I have recently updated to Flash CS4 and AS3 from Flash 8 - apart from one issue I have with the Sound Object. There seems to be a delay in the loaded MP3 playing when told to. This means that I am unable to add SFX to the game I am developing for a client, because the sound plays about 1-2 seconds after it is told to play. How to tee the Sound up, so that it plays immediately?
The process I am using is this:
Class defined to load all game assets defined in XML
All Sounds are loaded into their own Sound Object and a reference to each is held in an array and passed to the relevant Class (i.e. Player). The relevant Class tells the reference to the Sound to play - it plays, but 2 seconds after the collision detection Event has told the sound to play.
okay.. i'm using a xml n URLrequest to bring up the song n song list in a listbox but, I want the song hold for x seconds (because there r a silent opening first, then I want the the song start when the silent opening ends). Perhaps there r code to add delay just to the song so it not autoplay? Plus I dont know where to put the code..
So I made a few buttons with sounds within them and when I publish it they work just fine. But what I want them to do is;
Say I click a Button.The sound starts playing.Then I click it again, before the sounds done playing.I want it to stop the playing sound and start playing the button I just clicked on, whether it be the same button, or a different one.Right now it just ends up sounds like an echo because it'll play it as many times as you click it.
I am trying to get my flv file to start playing when the page is loaded with no sound, but I am have no luck. The flv file starts playing fine with the sound on, and I can turn the sound off with my volume controller, but I need it to start playing with no sound.[code]...
I'm building an application that's basically a frame in that another SWF file is displayed. My application loads SWF files generated by a server and displays them. As memory consumption increases over time, it it necessary that I unload the current SWF from time to time and replace it with a new SWF. I use SWFLoader to load the remote SWF file. I create a new SWFLoader object for each new SWF and remove the old SWFLoader as soon as the new SWF can be displayed. Now my problem: SWFLoader sporadically does not start playing the loaded SWF. All of the SWF files that I load start with the same set of instructions. When all goes well, the SWFLoader gets some ProgressEvents and then an Event.INIT. After that the SWF starts playing. In some cases, however, I only get the progress events, but the INIT is never fired. In that case the SWF doesn't start playing. The number of bytes received reported by the progress event is the same as in the case when it goes right.
I'm building a quite large flash movie with hundreds of movieclips (with their own preloaders) with approx 150 frames in the _root timeline. But I've until now never been very confident with preloaders, and that is causing me hairloss.
Once the user enter the site, I want a preloader to come up, but I want to use actionscript to start playing frame 2 once frame 2 content is loaded, not start playing frame 2 once the WHOLE movie is loaded.
I use the below code for simple preloading with no feedback of progress, however it loads the whole movie before it start playback of frame 2:
Is there a way to make a if statement that only loads like 20% then it plays. I always used things that wait for the whole movie to be loaded. I just want to give a head start of 20% to the movie.
I'm building a quite large flash movie with hundreds of movieclips (with their own preloaders) with approx 150 frames in the _root timeline. But I've until now never been very confident with preloaders, and that is causing me hairloss.
Once the user enter the site, I want a preloader to come up, but I want to use actionscript to start playing frame 2 once frame 2 content is loaded, not start playing frame 2 once the WHOLE movie is loaded.
I use the below code for simple preloading with no feedback of progress, however it loads the whole movie before it start playback of frame 2:
The preloader I usually use executes an addChild(loadedMovie)statement in response to an Event.COMPLETE event from the loaded swf's contentLoaderInfo object (a common approach, I believe.) The problem with this (as many of us know) is that the loaded swf starts running before the Event.COMPLETE event gets thrown, which means that once the child is added, it is already a few frames into its timeline. What I need is a way for the loaded swf not to start playing til its COMPLETE event gets thrown.
I have a large SWF flash file being loaded by a parent SWF and I would like to start playing the film being loaded, let's say, when it is 50% completed. According to my expected user's bandwidth and the size of my film I will calculate the best moment to do that (the film could be 20%, 30% or 50% loaded). I want to leave users waiting the minimum and I don't need to wait until my flash is 100%.
Ok, that said, here is the problem. I am in ActionScript 3. I have one film loading another and I want to anticipate the loaded film start. I have an onProgressHandler(mProgress:ProgressEvent) function (with listener launched by ProgressEvent.PROGRESS) and I have a regular onLoadComplete(e:Event) function (with listener launched by Event.COMPLETE). I could check for 20% completed during my regular onProgressHandler. But then, when I have identified this point has been reached, how can I anticipate the launching of the film? I mean, my Event.COMPLETE handler passes the e:Event and I can use e.target to get the loaded object into my film. But what happens if I want to start that process before it is complete? I cannot pass this e:Event because the COMPLETE handler hasn't been launched yet...
One important thing to say. The film that is loading is almost empty. It is very light. The heavy film is the one being loaded and I want to attach that film being loaded to a movie clip in my film before it has completed loading.
I mean youtube or any other streaming video site, but I've seen it on Youtube. There are times that the loaded bar shows that more than enough video stream has been loaded so the player could play it but it suddenly pauses and shows the loading icon?
I have an application, that has a movieclip in it. I'm creating a loader, loading another SWF and appending it to that movieclip. This is working perfectly fine. However, in the child SWF, there are a couple sound clips in the library that fire at certain times. If you play the child SWF by itself, the sound clips fire just fine. When loaded into the movieclip, nothing is playing.
I have buttons with sound attached in over state and that works just fine, but this means that you are going to hear sounds only when you move cursor over button, how can i make some background sound to play from the moment flash is loaded, even when buttons are inactive, my background image looks like some electrical equipment and and i want to make it sound realistic (sound clip must to be set to loop) and must to start at the moment flash is loaded?
I'm working in ActionScript 2. I have a series of swfs with Sound objects. Works just fine when I play the swf. However, when I load them into a loader, no sound.
Is there a way in AS3 to determine if a loaded sound file is still playing or not? I need to start an animation when a sound starts and stop the animation when the sound is done playing.
I'm working in ActionScript 2. I have a series of swfs with Sound objects. Works just fine when I play the swf. However, when I load them into a loader, no sound.
I have a problem with sounds in this movie. I have a sounds file that I would like to play as soon as the movie is loaded, but I dont want it to stream because I want to loop it and I want it to be done with AS. I saw a Tutorial where the sound would load as soon as the movie started but it wouldn't play until the play button was pressed. I want the song to play as soon as the sound is loaded. The Tutorial is Creating a Volume Control Silder. [URL]
However I find that when I run the movie, the sound plays at a higher speed (chipmunk music!). The clip was one that I created myself, its a 48kbs mono .mp3 file
Also, I am having trouble making an MP3 that loops perfectly. I have trimmed the sound perfectly in Nero wave editor, but the encoding process appears to add a short pause at the start and end of the file, which produces an annoying gap in my loop.
The problem I have is I click the play button and start playing. Then I click next and when I click play for another song the songs overlap. How can I stop whatever song is playing and start playing the new one? Has to stop the prev song when I click play_brn.
How to remove a loader and its content using removeChild or any other way, I had removed the loader but its content still playing in the background i know that from the sound of the content.this is the my code for removing:
I've got a Glow effect (glowIn) being applied to an object on the roll over which has a startDelay applied. I have another glow effect (glowOut) on roll out. If the user mouses out of the control during the startDelay of glowIn, I want to cancel the effect. How do I do this? In this instance, I'm using a glow effect with a startDelay of 300ms. I want a short pause before the item actually shows the effect, but I don't want the effect playing if the user mouses out during this time. I'm setting the properties as follows:
I don't think it matters much, but the component in question is a Series within a chart that gets created at runtime so I would prefer a solution in actionscript rather than mxml if possible.
I have a long mp3 file hosted on a standard apache server (30 minutes long so far, but I would like it to work with longer sounds too).I'd like to start playback of this audio within at a specified point. When attempting to use Flash Actionscript 3, my basic tests show that ALL the audio from the start to the position I choose is buffered before playback (Sound.bytesLoaded was my friend here). If I start one second in, it takes about 3 seconds to start playback, 30 seconds in, takes about 25 secondsObviously with a really long mp3, like skipping playback to the middle of a 3-hour audiobook, this isn't going to be practical.Here's the ActionScript 3.0 code I'm using:
button.addEventListener(MouseEvent.MOUSE_DOWN, function():void { var s:Sound = new Sound(); var req:URLRequest = new URLRequest("http://example.com/audio.mp3");
I'm trying to load sound dynamically into a clip and then play it randomly. The AS I came up with works great if the sound is embedded and I use the .attachSound() method instead of loadSound(). Now, when I load it dynamically and use the code below, the sound plays very fast and at a higher pitch.
Code: var crows = new Sound(this); crows.loadSound("Raven.mp3", false); crows.setVolume(100);
I'm wondering what my best option is to delay the loading/playing of a movie that is set to autoplay?The videos are all external if that matters; is there any kind of code I can fire within a javascript function once I want it to start?
I have a sound clip that I'm loading externally into my flash file. The code I'm using looks like this and is placed in the as layer on the first frame,
var mySound:Sound = new Sound(); var myChannel:SoundChannel = new SoundChannel(); var myTransform = new SoundTransform(); var lastPosition:Number = 0; mySound.load(new URLRequest("introaudio.mp3")); myChannel = mySound.play(); [Code]....
I am creating a game that has 6 movieclips all on the main time line of the game. Each movie clip has three buttons that when clicked plays, pauses or stops a sound clip.When I press any of the sound clip play buttons that sound starts playing, the problem is when I click any of the other sound clip play buttons those sounds also start to play. Is there a way I can disable the other sound clip buttons while the current sound is playing then enable all of the buttons when the current sound has stopped.
This is the code that creates one of the sound objects
I have a "News Bar" on my flash site that plays a movieclip I created to display the news. I would like a one-time delay of around 2.5 seconds before the movieclip starts playing. I'm comfortable with flash and am learning AS3 more and more everyday.
I am embedding an mp3 into my Flex project for use as a sound effect, but I am finding that every time I play it, there is a delay of about half a second from when I call .play() to when you can hear the sound. This makes it weird because I want the sound effects to sync to game events. My mp3 itself is only about a fifth of a second long so it isn't because of the contents of the mp3.
I'm embedding with
[Embed(source="assets/Tock.mp3")] [Bindable] public static var TockSound:Class;
[Code]....
I know there's a delay because the sound plays about a half second after the Alert displays. I did consider that maybe it was the initial loading time of constructing the TockSound, but the delay is there on all the subsequent calls as well.
How can I avoid this delay on playing a sound?
Update: It turns out this delay is only present when playing the swf on Linux. I believe it is a Linux-specific flaw in Adobe's flash player.