Package | flash.events |
Classe | public class SampleDataEvent |
Héritage | SampleDataEvent Event Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Cet événement a deux usages principaux :
- Fournir des données audio générées de façon dynamique à un objet Sound
- Obtenir des données audio pour un objet Microphone
Génération dynamique de données audio à l’aide de l’objet Sound Utilisez l’événement sampleData
pour lire les données audio générées dynamiquement. Dans cet environnement, l’objet Sound ne contient pas vraiment de données audio. Il agit en fait en tant que socket pour les données audio qui lui sont diffusées en continu par l’intermédiaire de la fonction que vous affectez comme gestionnaire à cet événement sampleData
.
Dans votre fonction, utilisez la méthode ByteArray.writeFloat()
pour écrire dans la propriété event.data
de l’événement qui contient les données échantillonnées que vous souhaitez lire.
Si un objet Sound n’a pas chargé un fichier MP3, lorsque vous appelez sa méthode play()
, l’objet commence par distribuer des événements sampleData
vous demandant des échantillons audio. L’objet Sound continue d’envoyer des événements pendant la lecture du son jusqu’à ce que vous cessiez de fournir des données ou jusqu’à ce que la méthode stop()
de l’objet SoundChannel soit appelée.
Le temps d’attente de l’événement varie selon les plates-formes et peut encore changer dans les futures versions de Flash Player et AIR. Ne dépendez pas d’un temps d’attente spécifique, mais calculez-le à l’aide de ((SampleDataEvent.position/44.1) - SoundChannelObject.position)
.
Fournissez entre 2 048 et 8 192 échantillons à la propriété data
de l’objet SampleDataEvent. Pour de meilleures performances, fournissez autant d’échantillons que possible. Moins vous fournissez d’échantillons, plus il est probable que des bruits parasites se feront entendre pendant la lecture. Ce comportement varie selon les plates-formes et peut se produire dans diverses situations, par exemple lors du redimensionnement du navigateur. Vous pouvez écrire du code qui fonctionne sur une plateforme lorsque vous fournissez uniquement 2 048 échantillons, mais ce même code peut ne pas fonctionner s’il s’exécute sur une autre plateforme. S’il vous faut le plus court délai d’attente possible, envisagez de permettre à l’utilisateur de sélectionner la quantité de données.
Si vous fournissez moins de 2 048 échantillons, l’objet Sound lit les échantillons restants, puis interrompt la lecture comme s’il avait atteint la fin du fichier son, en générant un événement complete
.
Vous pouvez utiliser la méthode extract()
d’un objet Sound pour extraire ses données audio, que vous pouvez ensuite écrire dans le flux dynamique pour la lecture.
Lorsque vous utilisez l’écouteur d’événement sampleData
avec un objet Sound, les uniques méthodes Sound activées sont extract()
et play()
. L’appel à d’autres méthodes ou propriétés résulte en une exception d’appel non valide. Tous les méthodes et propriétés de l’objet SoundChannel sont toujours activées.
Capture audio du microphone Utilisez l’événement sampleData
pour capturer un son à partir d’un microphone. Lorsque vous ajoutez un écouteur d’événement pour l’événement sampleData
, le microphone distribue l’événement à mesure que les échantillons audio deviennent disponibles.
Dans la fonction de gestionnaire d’événement, utilisez la méthode ByteArray.readFloat()
pour lire la propriété data
) de l’événement, qui contient les données échantillonnées. L’événement contient plusieurs échantillons ; par conséquent, vous devez utiliser une boucle while
pour lire les données disponibles :
var soundBytes:ByteArray = new ByteArray(); while(event.data.bytesAvailable) { var sample:Number = event.data.readFloat(); soundBytes.writeFloat(sample); }
Informations complémentaires
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
bubbles : Boolean [lecture seule]
Indique si un événement peut se propager vers le haut (bubbling). | Event | ||
cancelable : Boolean [lecture seule]
Indique si le comportement associé à l’événement peut être évité. | Event | ||
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
currentTarget : Object [lecture seule]
L’objet qui traite activement l’objet Event avec un écouteur d’événements. | Event | ||
data : ByteArray
Données présentes dans le flux audio. | SampleDataEvent | ||
eventPhase : uint [lecture seule]
Phase actuelle du flux d’événements. | Event | ||
position : Number
Position des données dans le flux audio. | SampleDataEvent | ||
target : Object [lecture seule]
Cible de l’événement. | Event | ||
type : String [lecture seule]
Type d’événement. | Event |
Méthode | Défini par | ||
---|---|---|---|
SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Crée un objet événement contenant des informations sur les événements de données audio. | SampleDataEvent | ||
[override]
Crée une copie de l’objet SampleDataEvent et définit la valeur de chaque propriété de sorte qu’elle corresponde à la valeur d’origine. | SampleDataEvent | ||
Fonction d’un utilitaire permettant d’implémenter la méthode toString() dans des classes Event ActionScript 3.0 personnalisées. | Event | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Vérifie si la méthode preventDefault() a été appelée pour l’événement. | Event | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Annule le comportement par défaut d’un événement si cette opération est possible. | Event | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Bloque le traitement des écouteurs d’événement dans le nœud actuel et les suivants dans le flux d’événements. | Event | ||
Bloque le traitement des écouteurs d’événement dans les nœuds qui suivent le nœud actuel dans le flux d’événements. | Event | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
[override]
Renvoie une chaîne contenant toutes les propriétés de l’objet SampleDataEvent. | SampleDataEvent | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
Constante | Défini par | ||
---|---|---|---|
SAMPLE_DATA : String = "sampleData" [statique]
Définit la valeur de la propriété type d’un objet événement SampleDataEvent. | SampleDataEvent |
data | propriété |
position | propriété |
SampleDataEvent | () | Constructeur |
public function SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Crée un objet événement contenant des informations sur les événements de données audio. Les objets Event sont transmis en tant que paramètres aux écouteurs d’événements.
Paramètrestype:String — Type de l’événement. Cette valeur est : Event.SAMPLE_DATA .
| |
bubbles:Boolean (default = false ) — Détermine si l’objet Event prend part à la phase de propagation vers le haut du flux d’événements.
| |
cancelable:Boolean (default = false ) — Détermine si l’objet d’événement peut être annulé.
| |
theposition:Number (default = 0 ) — Position des données dans le flux audio.
| |
thedata:ByteArray (default = null ) — Tableau d’octets de données.
|
clone | () | méthode |
override public function clone():Event
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Crée une copie de l’objet SampleDataEvent et définit la valeur de chaque propriété de sorte qu’elle corresponde à la valeur d’origine.
Valeur renvoyéeEvent — Nouvel objet SampleDataEvent dont les propriétés ont la même valeur que celles de l’objet d’origine.
|
toString | () | méthode |
override public function toString():String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Renvoie une chaîne contenant toutes les propriétés de l’objet SampleDataEvent. La chaîne est écrite au format suivant :
[SampleDataEvent type=valeur bubbles=valeur cancelable=valeur theposition=valeur thedata=valeur]
String — Chaîne contenant toutes les propriétés de l’objet SampleDataEvent .
|
SAMPLE_DATA | Constante |
public static const SAMPLE_DATA:String = "sampleData"
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Définit la valeur de la propriété type
d’un objet événement SampleDataEvent
.
Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
position | Point à partir duquel les données audio sont fournies. |
Eléments de l’API associés
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, 09:30 AM Z