Actionscript 3 :: MP3 Files Are Being Cached While Using Swfsound?
Mar 9, 2012
I'm coding an audio player using swfsound for non html5 compliant browsers. I've three sample files, sound1, sound2 and sound3.
After doing some tests, I've changed sound1, with other file, but surprisingly the original remains cached in the browser. I've deleted the original file, moved to other folder, no way.
The only way to reproduce successfully the new file is to active the "disable cache" feature. I'm looking for a way or method to unload the previous file (if there's one) before loading a new one. The audio player will be playing different mp3 files, and in the way that is working now, it won't succeed.
i had manny mp3 and wave files in library and my fla file was aprox 700MB,now i have deleted all mp3 and wave files, but the fla file is still 700MB.how is this possible?in start i have loaded wave files but at some point flash told me no memmory awailable.so i tought.ok i'll delete this waves and load mp3s insted..
I am working on a page the allows the user, once logged in,to upload information and a picture. The picture is saved as his/her username, and if they upload a different picture, the old one is still displayed unless they leave the site and come back 10+ minutes later.I tried the HTML no-cahce headers and they don't even help load a new (up-to-date) version of the main movie.This should have an easy solution, that Adobe should have addressed if they expect flash to be capable of being a dynamic site with user interactivity.
There is the following bug in the gallery:Once you open up the gallery you see a container with all small thumbnails.If you start mouse over the main container you can see the following happen:
- shadow filter change
- quality of the thumbs change
There is a rotationY and rotationX on the main container. As soon as i remove that there is no bug and the shadow and quality of images is perfect.So what does flash do to children and their filters inside a container when using transform propertys before a MouseEvent happen to that maincontainer.You should use F5 a few times before you excaly can see it.
How do you know if the browser is actually using the cached swf RSL/library for Flex projects? I would like to be able to do different things from the preloader based on whether or not the user has never downloaded the library vs. they have it already cached by their browser.
My question is about XML loading. I need to avoid xml caching. On a web server, the technique is adding a random param to reload each time the XML file. But on local testing (in Flash CS4 IDE, CTRL + Enter), the following lines are not possible :
var my_date : Date; path = "toto.xml?time="+my_date.getSeconds()+my_date.getMilliseconds();
Is there any trick to bypass this issue ? I've read on different forum about the "delete" method, we delete the xml object and then recreate one new.
When we reference a SWF file from our ASP.NET page we append the version number to the SWF url, like App.swf?1.1.0.0. In a recent update, Firefox has continued to use a cached swf even when the version number changed, App.swf?1.2.0.0. We haven't noticed this behavior in other browsers.
Has anyone else seen this behavior? We don't want to disable caching completely. At this point we're probably going to change the name of the swf for each version, like App.1.2.0.0.swf, which seems a bit excessive.
I guess my question is pretty simple for some of the guru's here, but i gave up with this already Im writing an photo gallery application for a website, everything works just perfect, but i have the following problem: Im using the events onLoadComplete and onLoadStart to display an small popup alerting the user while the picture is downloading... so how could i check if the picture is already cached ?, so i could use an IF statment to only show the popup if the picture has not been downloaded before? This is the relevant part of the code that im using right now, it works perfect, but it shows the "loading clip" EVEN if the picture is already there
My problem is that once flash reads an XML, it then wont read the XML again but rather uses a cached copy. This causes problems as I want it to update a record number in the XML.
My flow of data is like this:
1)Flash reads (and presumably caches) an xml file. 2)User enters data into flash (including update data for xml). 3)Flash sends data to PHP. 4)PHP edits XML file (adds a line and updates a record #). 5)Repeat above.
In practice what happens:
I have a recorded number recorded in the XML. (say 10) Flash reads the recorded number from the XML. (still 10) Flash updates the recorded number (now 11) Flash sends the number to PHP which updates the XML (so XML is now 11) When process is repeated: Flash uses cached XML so reads record number as 10!!
I need to load a range of images and make them crossfade over time in a never ending loop (rotating gallery).
Using the Loader I display a preloader everytime I load an image.
The problem is that the next time I load the image the damn preloader shows up in a split second (because I'm using the Loader to load the image again).
How do I write the routine of loading an image and reuse it again WITHOUT calling the loader a second time?
I read online to read a the bitmapData into a variable. Well, that's all fine. But HOW do I reuse that Bitmap in a never ending carrousel?
I have tried various codes (probably wrongly) and read different posts and failed to achieve what I am after. So to cut going round in circles I have just made a simple test folder. There are 3 things I am trying to achieve so that latest files are loaded instead of browser cached versions.
Everything is linked properly in the TEST folder (apart from the code to get latest non cached version)
You can download the TEST.zip folder (73KB) here- [URL] It's completely safe to download and please ignore the annoying pop up ads. I signed up for free service hence the ads.
The three things I want to achieve-
In the TEST.zip folder start with index.html.
1- There you will see >Enter Button< and >portfolio.pdf< button. Nothing will change on index.html page but the portfolio pdf will be regularly updated. So I want the >portfolio.pdf< to fetch the latest pdf always. I assume the code will go on the >portfolir.pdf< button?
2- >Enter Button< will take us to master.html page which contains master.swf. Master.html is only a container but master.swf will be regularly updated and needs to always load the latest master.swf version.
3- Load image.swf button will load image.swf. I want the button to load the latest image.swf file always.
using shared libraries at the moment for a scalable e-learning course. All the elements are to be used over multiple screens. BUT if I have to add a new element to that published shared swf - then next time I access my learning program it will have to download the WHOLE NEW shared library - is that right? ie: defeating the purpose in the first place. So if that is true then the best idea would be to use separate shared libraries. ie: sharedLibraryMusic1.swf sharedLibraryMusic2.swf for newer mp3s etc...
Or is this nonsense. ie: A new updated shared library with a "little" new element would not cause the whole swf to be downloaded again??? This is so important as it can make or break the download speeds.
We have a Flex application which doesn't currently use the Flex framework as an RSL. We're considering switching, but we're not sure what proportion of users will already have the framework cached.There's an added complication in that we're using the data visualisation components too, and we may have a choice as to which version of the framework we use.
In my application, I make numerous calls to preload images to brower cache in the background using Loader instances and ignore the complete event. I don't store the results in the application, but rather want to store them in the browser cache. The images have long Expires header dates.
When I want to use a particular image(s), I again use a Loader instance and call the same url and listen for the complete event to load the file to an Image.
The problem is that when I re-request the url for the "cached" image, it is making an http request with response 200 status, which I presume means it is hitting the server. How do I make sure that a request for a cached image never hits the server from Flex? I am finding that any request to a url for a cached image (with a long expires header) is making another request to the server, or at least that is my interpretation of it in Firebug.
We have a flash app (AS3) that reads some data from a local XML file and displays it in a cool way. The problem is that the browser(s) seem to cache this XML data, i.e. when we revisit the page containing the flash, it is rendered using out of date data (the XML file is updated regularly). We find we must visit the URL of the actual XML file and hit refresh (CTRL+F5) to get the new XML to load, and then go back to the page with the flash to see it rendered with the up-to-date data. Is there a way to remedy this? Perhaps the solution is like the one used to prevent caching of Javascript, i.e. appending a random GET param to the URL?
Look at the example: Left sqaure mc1 is cachedAsBitmap right square mc2 is usual MC. Go mouse over the edge for scaling for both mc's. Cached movieclip goes crazy How I can bypass this thing easily?
1. How long is an XML.load response typically cached for in Firefox/IE?
2. How long is an swf typically cached for in Firefox/IE?
I'm asking because I have an XML file that changes every few hours, and an swf that changes every few weeks. I'm noticing that the changes don't get picked up in Firefox, even after restarting my browser.
I'm loading an SWF animation and want to display it in multiple places concurrently, but the only way I could figure out how to do that is to load it every time I display it, as seen here:
private function playSounds():void { for (var i:Number = 0; i < 14; i++) {
What's the easiest way to prevent what I call preloader flicker. What I mean is the preloader works fine on first load but then once the external swfs have been cached the preloader still displays for just for a split second but doesn't have time to animate and it just looks a bit ugly. I ideally just want the preloader to appear on first load or force it to animate.
This all works great until the items have been cached by the browser and then the movies still load but the preloader doesn't get time to animate and just shows for a split second which looks a bit crap.I read somewhere about creating an array to store the paths of all the loaded in swf's so I could then turn on and off the preloader's visibility if that file had been loaded before.This all worked great until I refreshed the browser window then of course the array got reset so all my stored values went and the preloader started to show its self again.
Then I thought could I store the array values in a local shared object but then I thought there's got to be an easier way.What is the best way of doing this?My preloader is just a bog standard 100 frame animation that go to and stops the frame of the percent loaded.
I have a master file that loads in external swf's and I'm showing a preloader during loading. This all works great until the items have been cached by the browser and then the movies still load but the preloader doesn't get time to animate and just shows for a split second which looks a bit crap. I read somewhere about creating an array to store the paths of all the loaded in swf's so I could then turn on and off the preloader's visibility if that file had been loaded before.
This all worked great until I refreshed the browser window then of course the array got reset so all my stored values went and the preloader started to show its self again. Then I thought could I store the array values in a local shared object but then I thought there's got to be an easier way. My preloader is just a bog standard 100 frame animation that go to and stops the frame of the percent loaded.
I have a button that loads guestbook.swf. As guestbook would be updated by me I would like the latest non cached version of guestbook.swf to load always. This is the code on the button currently. What would the code look like to load the latest version from the server? You know some random number/date time stamp thing? I tried using some Googled AS2 code off the web and the button stopped working.[code]
I have about 50-100 flash elements on a page which are audio players that play only one audio each that are different from each other.Whenever a user clicks one of the player buttons, the audio either streams or loaded as a single mp3.I would like to know how browsers handle swf or audio that is on a page. If 50 of the players are clicked at 10mb each and not all at once, then I can imagine that there would be 500mb stored in the browser eventually as cache.If the browser only has 100mb to cache, how does it work? Does it delete the other swf or audio in cache or does it cause issues to the browser such as crashing or slowing down the computer, etc.
I'm currently working on a project that needs to request a url multiple times. Having studied the the HTTP Proxy (Charles) it seems that AIR will cache the first response and then return the same response for each subsequent request.Does anybody know how to know if the response has been cached other than setting the URLRequest to useCache, but this doesn't say if the response was a cached response or not. The digest isn't set on the URLRequest either, although it does mention this is for swz only, so how does it know if the content is the current content or not? Is the responseHeaders used to find out how long to hold the cache i.e.Cache-Control: max-age=900
Also does anyone know how to flush/purge the cache or are we at the whim of the GC and in that case how does it know if to leave it in the cache or now?This makes sense to me, but still I would like to know how to regulate this cache.Further more: I've tested a set up where parallel URLLoaders (10) are made and created which open the same url to see what happens in that instance. It seems that each parallel request is made until a successful response is given, all subsequent calls are then cached. Calls which are sent out before the successful request is then completed. It looks like the items which are already in being processed do not use the cache and return with correct data.Additional The AIR runtime doesn't even send a "If-Modified-Since" header, so the cache isn't even honoring HTTP protocol. So it seems as if Adobe has implemented it's own version of a cache which doesn't even use HTTP/1.1 Header Field Definitions.
So the following code is Lee's implementation of a preloader which works fine first load but goes crazy when the browser loads a cached file, jumping from 0% to 100% randomly Things I have tried to no avail: switching off gzip compression, tho I dont think it is on Using ENTER_FRAME instead of progress and complete
I have a little app that can read and write content that is stored in XML files. As those files get updated and re-loaded quite often I have made the experience that the browser tends to use the old/cached XML-data. Can I somehow flag the URLLoader that I use to load the XML to always load the actual file instead of looking for cached versions?
I have a project that is for several customers, the only difference is in the DB, everything else looks the same, except for the main page's text. That is loaded from an external swf file. I created a library, compiled it as an swc, imported it and using it as an RSL. The problem is that if once I've opened the page, and afterwards update the rsl (because changes in the text are needed), than it's already cached by the browser (not the flashplayer's cache but we shouldn't discuss this please!) and the updated swf won't be loaded. If I use it as an external, the page won't even start up (the browser says it's loaded, but it's blank, not even the loading progess bar of flex appear)
this is the code on the main page, if I comment this out, than the whole thing loads, even with the use of the "external" link-type. in the design view, I see the component, but I get a warning for the library:
Design mode could not load MainPage.swc. It may be incompatible with this SDK, or invalid.DesignAssetLoader.CompleteTimeout)
I have some files in my src directory, some are .class files (Java class files) and some are .properties files, when I create the Adobe air native installer these files are not included. Why is that? How can I work around that?
Also it excludes .mxml files, but that's good. I'm sure that's related, how to change what it includes or excludes?
I have created a flash file that allows you to click on a thumbnail image and larger image appears ontop of a tshirt. The same way as a gallery would work. The images and thumbnails are pulled in through xml. However I have a problem, I need the images that appear on the tshirts to be .png files or gif files as the tshirt colour can be changed. At the moment my flash file will only display jpegs! I dont knwo why. The jpegs leave me with a white background, so I need the transparency of a png/gif. My actionscript is: