/** * The SoundLoaderContext class provides security checks for files that load sound. * SoundLoaderContext objects are passed as an argument to the constructor and the * load() method of the Sound class. * */ export declare class SoundLoaderContext { /** * Creates a new sound loader context object. * @param bufferTime The number of seconds to preload a streaming sound into a buffer * before the sound starts to stream. * @param checkPolicyFile Specifies whether the existence of a URL policy file * should be checked upon loading the object (true) or not. */ constructor(bufferTime?: number, checkPolicyFile?: boolean); /** * The number of milliseconds to preload a streaming sound into a buffer * before the sound starts to stream. * * Note that you cannot override the value of SoundLoaderContext.bufferTime * by setting the global SoundMixer.bufferTime property. * The SoundMixer.bufferTime property affects the buffer time * for embedded streaming sounds in a SWF file and is independent of dynamically created * Sound objects (that is, Sound objects created in ActionScript). * @langversion 3.0 * @playerversion Flash 9 * @playerversion Lite 4 */ bufferTime: number; /** * Specifies whether the application should try to download a URL policy file from the * loaded sound's server before beginning to load the sound. This property applies to * sound that is loaded from outside * the calling file's own domain using the Sound.load() method. * * Set this property to true when you load a sound from outside the * calling file's own domain and code in the calling file needs low-level access to * the sound's data. Examples of low-level access to a sound's data * include referencing the Sound.id3 property to get an * ID3Info object or calling the SoundMixer.computeSpectrum() method to get * sound samples from the loaded sound. If you try to access sound data without * setting the checkPolicyFile property to true at loading time, * you may get a SecurityError exception because the required policy file has not been downloaded. * If you don't need low-level access to the sound data that you are loading, avoid setting * checkPolicyFile to true. Checking for a policy file consumes * network bandwidth * and might delay the start of your download, so it should only be done when necessary. * When you call Sound.load() with SoundLoaderContext.checkPolicyFile set * to true, Flash Player or AIR must * either successfully download a relevant URL policy file or determine that no such policy file * exists before it begins downloading the specified sound. * Flash Player or AIR performs the following * actions, in this order, to verify the existence of a policy file:Flash Player or AIR considers policy * files that have already been downloaded.Flash Player or AIR tries * to download any pending policy files specified in calls to * Security.loadPolicyFile().Flash Player or AIR tries to download a * policy file from the default location that corresponds to the sound's URL, which is * /crossdomain.xml on the same server as URLRequest.url. * (The sound's URL is specified in the url property of the URLRequest object * passed to Sound.load() or the Sound() constructor function.)In all cases, Flash Player or AIR * requires that an appropriate policy file exist on the sound's server, that it provide access * to the sound file at URLRequest.url by virtue of the policy file's location, and * that it allow the domain of the calling file to access the sound, through one or more * tags. * If you set checkPolicyFile to true, * Flash Player or AIR waits until the policy file is verified * before loading the sound. You should wait to perform * any low-level operations on the sound data, such as calling Sound.id3 or * SoundMixer.computeSpectrum(), until progress and complete * events are dispatched from the Sound object. * If you set checkPolicyFile to true but no appropriate policy file is found, * you will not receive an error until you perform an operation that requires * a policy file, and then Flash Player or AIR throws a * SecurityError exception. After you receive a complete * event, you can test whether a relevant policy file was found by getting the value * of Sound.id3 within a try block and seeing if a * SecurityError is thrown.Be careful with checkPolicyFile if you are downloading sound from a URL that * uses server-side HTTP redirects. Flash Player or AIR tries to retrieve policy files that * correspond to the url property of the URLRequest object * passed to Sound.load(). If the final * sound file comes from a different URL because of HTTP redirects, then the initially downloaded * policy files might not be applicable to the sound's final URL, which is the URL that matters * in security decisions.If you find yourself in this situation, here is one possible solution. * After you receive a progress or complete event, you can examine the value of * the Sound.url property, which contains the sound's final URL. * Then call the Security.loadPolicyFile() method * with a policy file URL that you calculate based on the sound's final URL. Finally, poll the value * of Sound.id3 until no exception is thrown.This does not apply to content in the AIR application sandbox. * Content in the application sandbox always has programatic access to sound content, regardless * of its origin.For more information related to security, see the Flash Player Developer Center Topic: * Security. * @langversion 3.0 * @playerversion Flash 9 * @playerversion Lite 4 * @internal : please review at same time: checkPolicyFile property in LoaderContext, NetStream */ checkPolicyFile: boolean; } //# sourceMappingURL=SoundLoaderContext.d.ts.map