| Paquete | flash.media |
| Clase | public class SoundLoaderContext |
| Herencia | SoundLoaderContext Object |
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
load() de la clase Sound.
Cuando utilice esta clase, puede ser conveniente usar el modelo de seguridad de Flash® Player:
Sound.id3 y los métodos SoundMixer.computeSpectrum(), SoundMixer.bufferTime y SoundTransform().Para más información, consulte las siguientes secciones:
| Propiedad | Definido por | ||
|---|---|---|---|
| bufferTime : Number = 1000
El número de segundos que se tarda en precargar un flujo de sonido en un búfer antes de que el sonido comience a reproducirse.
| SoundLoaderContext | ||
| checkPolicyFile : Boolean = false
Especifica si Flash Player debe intentar descargar un archivo de política entre dominios desde el servidor del sonido cargado antes de comenzar la carga del mismo.
| SoundLoaderContext | ||
![]() | constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
| Object | |
![]() | prototype : Object
[static]
Una referencia al objeto prototipo de una clase u objeto de función.
| Object | |
| Método | Definido por | ||
|---|---|---|---|
|
Crea un nuevo objeto contextual de carga de sonido.
| SoundLoaderContext | ||
![]() |
Indica si un objeto tiene definida una propiedad especificada.
| Object | |
![]() |
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
| Object | |
![]() |
Indica si existe la propiedad especificada y si es enumerable.
| Object | |
![]() |
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
| Object | |
![]() |
Devuelve la representación de cadena del objeto especificado.
| Object | |
![]() |
Devuelve el valor simple del objeto especificado.
| Object | |
| bufferTime | propiedad |
public var bufferTime:Number = 1000
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
El número de segundos que se tarda en precargar un flujo de sonido en un búfer antes de que el sonido comience a reproducirse.
Tenga en cuenta que no es posible anular el valor de SoundLoaderContext.bufferTime estableciendo la propiedad global SoundMixer.bufferTime. La propiedad SoundMixer.bufferTime afecta al tiempo de búfer en los flujos de sonido incorporados de un archivo SWF y no tiene nada que ver con los objetos Sound creados dinámicamente (es decir, objetos Sound creados con ActionScript).
| checkPolicyFile | propiedad |
public var checkPolicyFile:Boolean = false
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica si Flash Player debe intentar descargar un archivo de política entre dominios desde el servidor del sonido cargado antes de comenzar la carga del mismo. Esta propiedad se aplica a sonidos cargados desde fuera del dominio del archivo SWF que llama con el método Sound.load().
Establezca esta propiedad como true al cargar un sonido desde fuera del dominio del archivo SWF que llama y podrá acceder a los datos del sonido de ActionScript con privilegios de acceso de bajo nivel. Algunos ejemplos de acceso de bajo nivel a los datos de un sonido son la propiedad Sound.id3 para obtener un objeto ID3Info o llamar al método SoundMixer.computeSpectrum() para obtener muestras del sonido cargado. Si intenta acceder a los datos de sonido sin establecer la propiedad checkPolicyFile como true en el momento de la carga, es posible que obtenga una excepción SecurityError, ya que no ha descargado el archivo de política necesario.
Si no necesita privilegios de acceso de bajo nivel para los datos de sonido que está cargando, no establezca checkPolicyFile en true. La búsqueda de un archivo de política consume ancho de banda de la red y podría demorar el inicio de la descarga, por lo que sólo debe hacerse si es necesario.
Al llamar a Sound.load() con SoundLoaderContext.checkPolicyFile establecido en true, Flash Player debe descargar correctamente un archivo de política entre dominios adecuado o determinar que no existe ninguno antes de comenzar la descarga del sonido especificado. Flash Player lleva a cabo las acciones siguientes (en el orden indicado) para comprobar la existencia de un archivo de política:
Security.loadPolicyFile()./crossdomain.xml en el mismo servidor que URLRequest.url. (La URL del sonido se especifica en la propiedad url del objeto URLRequest transmitido a Sound.load() o al constructor Sound).En todos los casos, Flash Player necesita que exista un archivo de política adecuado en el servidor del sonido, que proporcione acceso al archivo de sonido en URLRequest.url de acuerdo con la ubicación del archivo de política, y que permita que el dominio acceda al archivo SWF que realiza la llamada gracias a una o varias etiquetas <allow-access-from>.
Si establece checkPolicyFile en true, Flash Player espera a que se verifique el archivo de política antes de cargar el sonido. Para poder realizar operaciones de bajo nivel en los datos de sonido, como llamar a Sound.id3 o a SoundMixer.computeSpectrum(), debe esperar a que los eventos progress y complete se distribuyan desde el objeto Sound.
Si define checkPolicyFile como true, pero no se encuentra ningún archivo de política adecuado, no recibirá ningún error hasta que no se realice alguna operación que requiera un archivo de política; cuando esto ocurra, Flash Player emitirá una excepción SecurityError. Tras recibir un evento complete, se puede comprobar si el archivo de política correspondiente se encontró mediante la obtención del valor de Sound.id3 en un bloque try y comprobando si se emitía una excepción SecurityError.
Tenga cuidado con checkPolicyFile si descarga un sonido desde una URL que utilice redirección HTTP en el servidor. Flash Player intenta recuperar archivos de política que correspondan a la propiedad url del objeto URLRequest transmitida a Sound.load(). Si el archivo de sonido final proviene de una URL distinta por la redirección HTTP, es posible que los archivos de política descargados inicialmente no se puedan aplicar a la URL final del archivo de sonido, que es la URL determinante en las decisiones de seguridad.
Si se encuentra en esta situación, le presentamos una posible solución. Tras recibir un evento progress o complete, puede examinar el valor de la propiedad Sound.url, que contiene la URL final del sonido. A continuación, llame al método Security.loadPolicyFile() con una URL de archivo de política calculada según la URL final del sonido. Finalmente, sondee el valor de Sound.id3 hasta que deje de emitir excepciones.
Para más información acerca de los archivos de política, consulte el capítulo "Seguridad de Flash Player" de Programación con ActionScript 3.0.
Véase también
| SoundLoaderContext | () | constructor |
public function SoundLoaderContext(bufferTime:Number = 1000, checkPolicyFile:Boolean = false)
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Crea un nuevo objeto contextual de carga de sonido.
ParámetrosbufferTime:Number (default = 1000) — El número de segundos que se tarda en precargar un flujo de sonido en un búfer antes de que el sonido comience a reproducirse.
|
|
checkPolicyFile:Boolean (default = false) — Especifica si Flash Player debe comprobar si existe un archivo de política entre dominios antes de cargar el objeto (true) o no.
|
El primer parámetro de un objeto SoundLoaderContext (context) se utiliza para aumentar el valor de búfer predeterminado de un segundo a tres. (El valor es en milisegundos.) Si el segundo parámetro del objeto SoundLoaderContext se establece en true, Flash Player consultará un archivo de política entre distintos dominios al cargar el objeto. En este caso se establece en un valor predeterminado false, por lo que no se comprobará ningún archivo de política. El método load() del objeto de sonido utilizará el parámetro de contexto para asegurarse de que se tardarán tres segundos en la carga previa del sonido en el búfer antes de que el sonido comience a transmitirse. El objeto URLRequest determina la ubicación del archivo, que es un podcast de Adobe. Si se produce un error IOErrorEvent.IO_ERROR durante la carga de un archivo de sonido, se invoca el método errorHandler().
package {
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.media.Sound;
import flash.media.SoundLoaderContext;
import flash.events.IOErrorEvent;
public class SoundLoaderContextExample extends Sprite {
public function SoundLoaderContextExample() {
var snd:Sound = new Sound();
var req:URLRequest = new URLRequest("http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3");
var context:SoundLoaderContext = new SoundLoaderContext(30000, false);
snd.load(req, context);
snd.play();
snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
}
private function errorHandler(errorEvent:IOErrorEvent):void {
trace("The sound could not be loaded: " + errorEvent.text);
}
}
}
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/flash/media/SoundLoaderContext.html