Pacchetto | flash.events |
Classe | public class SampleDataEvent |
Ereditarietà | SampleDataEvent ![]() ![]() |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Questo evento viene utilizzato in due modi:
- per fornire dati audio generati dinamicamente per un oggetto Sound;
- per ottenere dati audio per un oggetto Microphone.
Generazione dinamica dell'audio tramite l'oggetto Sound Utilizzate l'evento sampleData
per riprodurre in modo dinamico l'audio generato. In questo ambiente, l'oggetto Sound non contiene in effetti dati audio. Agisce invece come socket per i dati audio ricevuti in streaming utilizzando la funzione assegnata come gestore per l'evento sampleData
.
Nella funzione, utilizzate il metodo ByteArray.writeFloat()
per scrivere nella proprietà data
dell'evento, che contiene i dati campionati da riprodurre.
Se un oggetto Sound non ha caricato un file MP3, quando chiamate il relativo metodo play()
, l'oggetto inizia a inviare eventi sampleData
, richiedendo campionamenti audio. L'oggetto Sound continua a inviare eventi durante la riproduzione del suono finché non interrompete l'invio di dati o finché non chiamate il metodo stop()
.
La latenza dell'evento varia da piattaforma a piattaforma e potrebbe cambiare nelle versioni future di Flash Player o AIR. Evitate dipendenze da una latenza specifica. Calcolatela invece utilizzando ((SampleDataEvent.position/44.1) - SoundChannelObject.position)
.
Fornite da 2048 a 8192 campionamenti alla proprietà data
dell'oggetto SampleDataEvent. Per ottenere risultati ottimali, fornite il maggior numero possibile di campionamenti. Con un numero di campionamenti limitato, è più probabile che durante la riproduzione si verifichino schiocchi e clic. Questo comportamento può variare da piattaforma a piattaforma e verificarsi in diverse situazioni, ad esempio quando si ridimensiona il browser. Potreste scrivere codice con solo 2048 campionamenti che funziona correttamente su una piattaforma, ma che non funziona altrettanto bene quando viene eseguito su una piattaforma diversa. Se avete l'esigenza di utilizzare la più bassa latenza possibile, considerate la possibilità di rendere la quantità di dati selezionabile dall'utente.
Se fornite meno di 2048 campionamenti, l'oggetto Sound riproduce i campionamenti rimanenti e interrompe la riproduzione come se fosse stata raggiunta la fine di un file audio, generando un evento complete
.
Potete utilizzare il metodo extract()
di un oggetto Sound per estrarre i relativi dati audio, che potete quindi scrivere nel flusso dinamico per la riproduzione.
Quando usate l'evento sampleData
con un oggetto Sound, gli unici altri metodi Sound attivati sono extract()
e play()
. La chiamata a qualsiasi altro metodo o proprietà genera un'eccezione di "chiamata non valida". Tutti i metodi e le proprietà dell'oggetto SoundChannel continuano a essere abilitati.
Cattura dell'audio del microfono Utilizzate l'evento sampleData
per catturare i dati audio da un microfono. Quando aggiungete un listener di eventi per l'evento sampleData
, l'oggetto Microphone invia l'evento quando i campionamenti audio diventano disponibili.
Nella funzione del gestore di eventi, utilizzate il metodo ByteArray.writeFloat()
per leggere la proprietà data
dell'evento, che contiene i dati campionati. L'evento conterrà più campionamenti, quindi dovete utilizzare un ciclo while
per leggere i dati disponibili:
var soundBytes:ByteArray = new ByteArray(); while(event.data.bytesAvailable) { var sample:Number = event.data.readFloat(); soundBytes.writeFloat(sample); }
Altre informazioni
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
![]() | bubbles : Boolean [sola lettura]
Indica se un evento è un evento di bubbling. | Event | |
![]() | cancelable : Boolean [sola lettura]
Indica se il comportamento associato all'evento può essere impedito. | Event | |
![]() | constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | |
![]() | currentTarget : Object [sola lettura]
L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. | Event | |
data : ByteArray
I dati nello streaming audio. | SampleDataEvent | ||
![]() | eventPhase : uint [sola lettura]
La fase attuale del flusso di eventi. | Event | |
position : Number
La posizione dei dati nello streaming audio. | SampleDataEvent | ||
![]() | target : Object [sola lettura]
Il target dell'evento. | Event | |
![]() | type : String [sola lettura]
Il tipo di evento. | Event |
Metodo | Definito da | ||
---|---|---|---|
SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Crea un oggetto evento contenente informazioni relative agli eventi di dati audio. | SampleDataEvent | ||
[override]
Crea una copia dell'oggetto SampleDataEvent e imposta il valore di ogni proprietà in modo che corrisponda a quello dell'originale. | SampleDataEvent | ||
![]() |
Una funzione dell'utilità per l'implementazione del metodo toString() in classi Event ActionScript 3.0 personalizzate. | Event | |
![]() |
Indica se per un oggetto è definita una proprietà specifica. | Object | |
![]() |
Verifica se sull'evento è stato chiamato il metodo preventDefault(). | Event | |
![]() |
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | |
![]() |
Annulla il comportamento predefinito di un evento se tale comportamento può essere annullato. | Event | |
![]() |
Indica se la proprietà specificata esiste ed è enumerabile. | Object | |
![]() |
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | |
![]() |
Impedisce l'elaborazione di tutti i listener di eventi nel nodo corrente e in tutti i nodi successivi del flusso di eventi. | Event | |
![]() |
Impedisce l'elaborazione di tutti i listener di eventi nei nodi del flusso di eventi successivi a quello corrente. | Event | |
![]() |
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | |
[override]
Restituisce una stringa che contiene tutte le proprietà dell'oggetto SampleDataEvent. | SampleDataEvent | ||
![]() |
Restituisce il valore di base dell'oggetto specificato. | Object |
Costante | Definito da | ||
---|---|---|---|
SAMPLE_DATA : String = "sampleData" [statico]
Definisce il valore della proprietà type di un oggetto evento SampleDataEvent. | SampleDataEvent |
data | proprietà |
position | proprietà |
SampleDataEvent | () | Funzione di costruzione |
public function SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Crea un oggetto evento contenente informazioni relative agli eventi di dati audio. Gli oggetti evento vengono passati ai listener di eventi come parametri.
Parametritype:String — Il tipo di evento. Questo valore è:Event.SAMPLE_DATA .
| |
bubbles:Boolean (default = false ) — Determina se l'oggetto Event partecipa alla fase di bubbling del flusso di eventi.
| |
cancelable:Boolean (default = false ) — Determina se l'oggetto Event può essere annullato.
| |
theposition:Number (default = 0 ) — La posizione dei dati nello streaming audio.
| |
thedata:ByteArray (default = null ) — Un array di byte di dati.
|
clone | () | metodo |
override public function clone():Event
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Crea una copia dell'oggetto SampleDataEvent e imposta il valore di ogni proprietà in modo che corrisponda a quello dell'originale.
RestituisceEvent — Un nuovo oggetto SampleDataEvent con proprietà dai valori identici a quelli dell'originale.
|
toString | () | metodo |
override public function toString():String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Restituisce una stringa che contiene tutte le proprietà dell'oggetto SampleDataEvent. La stringa ha il seguente formato:
[SampleDataEvent type=valore bubbles=valore cancelable=valore theposition=valore thedata=valore]
String — Una stringa che contiene tutte le proprietà dell'oggetto SampleDataEvent .
|
SAMPLE_DATA | Costante |
public static const SAMPLE_DATA:String = "sampleData"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Definisce il valore della proprietà type
di un oggetto evento SampleDataEvent
.
Questo evento ha le seguenti proprietà:
Proprietà | Valore |
---|---|
bubbles | false |
cancelable | false ; non è presente alcun comportamento predefinito da annullare. |
position | Il punto da cui vengono forniti i dati audio. |
Elementi API correlati
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:44 PM Z