Paquete | flash.events |
Clase | public class SampleDataEvent |
Herencia | SampleDataEvent Event Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Este evento tiene dos usos:
- Proporcionar datos de audio generado dinámicamente para un objeto Sound
- Obtener datos de audio para un objeto Microphone
Generación dinámica de audio mediante el objeto Sound Utilice el evento sampleData
para reproducir audio generado dinámicamente. En este entorno, el objeto Sound en realidad no contiene únicamente datos de sonido. Actúa como socket para datos de sonido transmitidos en flujo mediante la función asignada como controlador del evento sampleData
.
En su función, puede utilizar el método ByteArray.writeFloat()
para escribir la propiedad data
) del evento que contenga datos de muestra que quiera reproducir.
Si un objeto Sound no ha cargado un archivo MP3, al llamar a su método play()
, el objeto comienza a distribuir eventos sampleData
y a solicitar muestras de sonido. El objeto Sound sigue enviando eventos a medida que se reproduce el sonido hasta que se detiene el suministro de datos o hasta que se llama al método stop()
del objeto SoundChannel.
La latencia del evento varía en función de la plataforma y puede cambiar en futuras versiones de Flash Player o AIR. No depende de una latencia concreta. Se calcula utilizando ((SampleDataEvent.position/44.1) - SoundChannelObject.position)
.
Proporcione entre 2048 y 8192 muestras a la propiedad data
del objeto SampleDataEvent. Para obtener el mejor rendimiento, proporcione tantas muestras como sea posible. Cuanto menor sea el número de muestras, más probable será la aparición de interferencias en la reproducción. Este comportamiento puede variar en función de la plataforma y según las situaciones, por ejemplo, al cambiar de tamaño la ventana del navegador. Puede escribir código que funcione en una plataforma cuando se facilitan sólo 2048 muestras, pero el mismo código puede no funcionar del mismo modo en otra plataforma distinta. Si necesita la menor latencia posible, considere la posibilidad de que sea el usuario quien seleccione la cantidad de datos.
Si proporciona menos de 2048 muestras, el objeto Sound reproduce el resto de muestras y detiene el sonido, como si hubiera llegado al final de un archivo de sonido, con lo que se genera un evento complete
.
Puede utilizar el método extract()
de un objeto Sound para extraer sus datos de sonido, que posteriormente puede escribir en el flujo dinámico para la reproducción.
Cuando se utiliza un evento sampleData
con un objeto Sound, los únicos métodos de Sound que permanecen activados son extract()
y play()
. Llamar a otros métodos o propiedades genera una excepción de "llamada no válida". Todos los métodos y propiedades del objeto SoundChannel siguen activados.
Capturing Microphone audio Utilice el evento sampleData
para capturar datos de audio desde un micrófono. Cuando se añade un detector de eventos para el evento sampleData
, el micrófono distribuye el evento a medida que están disponibles las muestras de audio.
En la función del controlador de eventos, utilice el método ByteArray.readFloat()
para leer la propiedad data
del evento, que contiene los datos de muestra. El evento contendrá diversas muestras, por lo que se debe utilizar un bucle loop
bucle para leer los datos disponibles:
var soundBytes:ByteArray = new ByteArray(); while(event.data.bytesAvailable) { var sample:Number = event.data.readFloat(); soundBytes.writeFloat(sample); }
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
bubbles : Boolean [solo lectura]
Indica si un evento es un evento de propagación. | Event | ||
cancelable : Boolean [solo lectura]
Indica si se puede evitar el comportamiento asociado al evento. | Event | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
currentTarget : Object [solo lectura]
Objeto que procesa de forma activa el objeto de evento con un detector de eventos. | Event | ||
data : ByteArray
Los datos del flujo de audio. | SampleDataEvent | ||
eventPhase : uint [solo lectura]
La fase actual en el flujo del evento. | Event | ||
position : Number
La posición de los datos en el flujo de audio. | SampleDataEvent | ||
target : Object [solo lectura]
El destino del evento. | Event | ||
type : String [solo lectura]
El tipo de evento. | Event |
Método | Definido por | ||
---|---|---|---|
SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Crea un objeto de evento que contiene información sobre eventos de datos de audio. | SampleDataEvent | ||
[override]
Crea una copia del objeto SampleDataEvent y define el valor de cada propiedad para que coincida con el del objeto original. | SampleDataEvent | ||
Una función de utilidad para implementar el método toString() en las clases Event personalizadas de ActionScript 3.0. | Event | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Comprueba si se ha llamado a preventDefault() en el evento. | Event | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Cancela el comportamiento predeterminado de un evento si es posible cancelarlo. | Event | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Impide el proceso de cualquier detector de eventos en el nodo actual y los nodos siguientes en el flujo del evento. | Event | ||
Impide el proceso de cualquier detector de eventos en nodos siguientes al nodo actual. | Event | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
[override]
Devuelve una cadena con todas las propiedades del objeto SampleDataEvent. | SampleDataEvent | ||
Devuelve el valor simple del objeto especificado. | Object |
Constante | Definido por | ||
---|---|---|---|
SAMPLE_DATA : String = "sampleData" [estática]
Define el valor de la propiedad type de un objeto de evento SampleDataEvent. | SampleDataEvent |
data | propiedad |
position | propiedad |
SampleDataEvent | () | Información sobre |
public function SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Crea un objeto de evento que contiene información sobre eventos de datos de audio. Los objetos de evento se transfieren como parámetros a los detectores de eventos.
Parámetrostype:String — El tipo de evento. Este valor es:Event.SAMPLE_DATA .
| |
bubbles:Boolean (default = false ) — Determina si el objeto de evento participa en la fase de propagación del flujo del evento.
| |
cancelable:Boolean (default = false ) — Determina si se puede cancelar el objeto Event.
| |
theposition:Number (default = 0 ) — La posición de los datos en el flujo de audio.
| |
thedata:ByteArray (default = null ) — Un conjunto de bytes de datos.
|
clone | () | método |
override public function clone():Event
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Crea una copia del objeto SampleDataEvent y define el valor de cada propiedad para que coincida con el del objeto original.
Valor devueltoEvent — Un nuevo objeto SampleDataEvent con valores de propiedades que coinciden con los del objeto original.
|
toString | () | método |
override public function toString():String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Devuelve una cadena con todas las propiedades del objeto SampleDataEvent. La cadena tiene el siguiente formato:
[SampleDataEvent type=valor bubbles=valor cancelable=valor theposition=valor thedata=valor]
String — Una cadena que contiene todas las propiedades del objeto SampleDataEvent .
|
SAMPLE_DATA | Constante |
public static const SAMPLE_DATA:String = "sampleData"
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Define el valor de la propiedad type
de un objeto de evento SampleDataEvent
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
position | El punto desde el que se proporcionan los datos de audio. |
Elementos de API relacionados
var mySound:Sound = new Sound(); function sineWaveGenerator(event:SampleDataEvent):void { for ( var c:int=0; c<8192; c++ ) { event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); } } mySound.addEventListener(SampleDataEvent.SAMPLE_DATA,sineWaveGenerator); mySound.play();
Tue Jun 12 2018, 02:12 PM Z