| Package | flash.media |
| Classe | public final class Microphone |
| Héritage | Microphone EventDispatcher Object |
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Pour plus d'informations sur la capture vidéo, consultez la classe Camera.
Important : Flash Player affiche une boîte de dialogue Confidentialité qui permet à l'utilisateur d'autoriser ou de refuser l'accès au microphone. Vérifiez la taille de la fenêtre de votre application qui doit être au moins de 215x138 pixels, taille minimale requise pour que Flash puisse afficher la boîte de dialogue.
Pour créer ou référencer un objet Microphone, utilisez la méthode Microphone.getMicrophone().
Attention : pour le contenu situé en dehors du sandbox de l'application, une boîte de dialogue Confidentialité s'affiche pour permettre à l'utilisateur d'indiquer s'il autorise ou refuse l'accès au microphone. Cette boîte de dialogue requiert une taille de fenêtre d'application de 215 x 138 pixels au minimum. Pour le contenu Adobe AIR situé dans le sandbox de l'application, l'accès est autorisé et la boîte de dialogue ne s'affiche pas.
Voir aussi
| Propriété | Défini par | ||
|---|---|---|---|
| activityLevel : Number [lecture seule] Volume sonore détecté par le microphone. | Microphone | ||
| codec : String Codec à utiliser pour la compression audio. | Microphone | ||
![]() | constructor : Object Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet. | Object | |
| encodeQuality : int Qualité du discours codé lorsque le codec Speex est utilisé. | Microphone | ||
| framesPerPacket : int Nombre d'images de discours Speex transmises dans un paquet (message). | Microphone | ||
| gain : Number Gain du microphone, c'est-à-dire la valeur par laquelle le microphone multiplie le signal avant de le transmettre. | Microphone | ||
| index : int [lecture seule] Index du microphone, tel qu'indiqué dans le tableau renvoyé par Microphone.names. | Microphone | ||
| muted : Boolean [lecture seule] Spécifie si l'utilisateur a refusé (true) ou autorisé (false) l'accès au microphone. | Microphone | ||
| name : String [lecture seule] Nom du périphérique de capture audio actuel, tel que renvoyé par le matériel de capture de son. | Microphone | ||
| names : Array [statique] [lecture seule] Tableau de chaînes contenant les noms de tous les périphériques de capture audio disponibles. | Microphone | ||
![]() | prototype : Object [statique] Référence à l'objet prototype d'un objet de classe ou fonction. | Object | |
| rate : int Fréquence à laquelle le microphone capture le son, en kHz. | Microphone | ||
| silenceLevel : Number [lecture seule] Volume sonore requis pour activer le microphone et distribuer l'événement activity. | Microphone | ||
| silenceTimeout : int [lecture seule] Nombre de millisecondes qui s'écoule entre le moment où le microphone arrête la détection du son et le moment où l'événement activity est appelé. | Microphone | ||
| soundTransform : SoundTransform Contrôle le son de cet objet Microphone lorsque le mode loopback est activé. | Microphone | ||
| useEchoSuppression : Boolean [lecture seule] Définit true si la fonctionnalité de suppression de l'écho est activée ; false dans le cas contraire. | Microphone | ||
| Méthode | Défini par | ||
|---|---|---|---|
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. | EventDispatcher | |
![]() | Distribue un événement dans le flux d'événements. | EventDispatcher | |
[statique] Renvoie une référence à un objet Microphone pour capturer des données audio. | Microphone | ||
![]() | Vérifie si des écouteurs sont enregistrés auprès de l'objet EventDispatcher pour un type spécifique d'événement. | EventDispatcher | |
![]() | Indique si la propriété spécifiée d'un objet est définie. | Object | |
![]() | 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 | |
![]() | Indique si la propriété spécifiée existe et est énumérable. | Object | |
![]() | Supprime un écouteur de l'objet EventDispatcher. | EventDispatcher | |
Dirige le flux audio capturé par un microphone vers les haut-parleurs locaux. | Microphone | ||
![]() | Définit la disponibilité d'une propriété dynamique pour les opérations en boucle. | Object | |
Définit le niveau d'entrée minimal devant être considéré comme du son et (éventuellement) la durée de silence indiquant le début du silence. | Microphone | ||
Spécifie s'il convient d'utiliser la fonctionnalité de suppression de l'écho du codec audio. | Microphone | ||
![]() | Renvoie la représentation sous forme de chaîne de l'objet spécifié. | Object | |
![]() | Renvoie la valeur primitive de l'objet spécifié. | Object | |
![]() | Vérifie si un écouteur d'événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d'événement spécifié. | EventDispatcher | |
| Evénement | Synthèse | Défini par | ||
|---|---|---|---|---|
![]() | [Evénement de diffusion] Distribué lorsque l'application Flash Player obtient le focus du système d'exploitation et devient active. | EventDispatcher | ||
| Distribué lorsqu'un microphone commence ou termine une session. | Microphone | |||
![]() | [Evénement de diffusion] Distribué lorsque l'application Flash Player ou AIR perd le focus du système d'exploitation et devient inactive. | EventDispatcher | ||
| Distribué lorsqu'un microphone publie son état. | Microphone | |||
| activityLevel | propriété |
activityLevel:Number [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Volume sonore détecté par le microphone. Les valeurs gérées sont comprises entre 0 (aucun son n'est détecté) et 100 (un son de grande intensité est détecté). La valeur de cette propriété peut vous aider à déterminer la valeur qu'il convient de transmettre à la méthode Microphone.setSilenceLevel().
Si le microphone est disponible, mais n'est pas encore utilisé car la méthode Microphone.getMicrophone() n'a pas été appelée, cette propriété est définie sur -1.
public function get activityLevel():NumberVoir aussi
| codec | propriété |
codec:String [lecture-écriture] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Codec à utiliser pour la compression audio. Le codec utilisé par défaut est Nellymoser. La classe d'énumération SoundCodec contient les différentes valeurs valides pour la propriété codec.
public function get codec():String public function set codec(value:String):voidVoir aussi
| encodeQuality | propriété |
encodeQuality:int [lecture-écriture] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Qualité du discours codé lorsque le codec Speex est utilisé. Les valeurs possibles sont comprises entre 0 et 10. La valeur par défaut est 6. Les nombres les plus élevés offrent une plus grande qualité mais consomment davantage de bande passante, comme le montre le tableau suivant. Les valeurs de débits énumérées représentent les débits nets sans la surcharge de la mise en paquets.
| Valeur de Quality | Débit requis (Kbits par seconde) |
|---|---|
| 0 | 3,95 |
| 1 | 5,75 |
| 2 | 7,75 |
| 3 | 9,80 |
| 4 | 12,8 |
| 5 | 16,8 |
| 6 | 20,6 |
| 7 | 23,8 |
| 8 | 27,8 |
| 9 | 34,2 |
| 10 | 42,2 |
public function get encodeQuality():int public function set encodeQuality(value:int):voidVoir aussi
| framesPerPacket | propriété |
framesPerPacket:int [lecture-écriture] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Nombre d'images de discours Speex transmises dans un paquet (message). La longueur de chaque image est 20 ms. La valeur par défaut est deux images par paquet.
Plus un message comporte d'images Speex, moins la bande passante requise est élevée, mais plus l'envoi du message est retardé. Moins d'images Speex augmente la bande passante, mais réduit le retard.
public function get framesPerPacket():int public function set framesPerPacket(value:int):void| gain | propriété |
gain:Number [lecture-écriture] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Gain du microphone, c'est-à-dire la valeur par laquelle le microphone multiplie le signal avant de le transmettre. Une valeur 0 indique à Flash Player de multiplier par 0 ; autrement dit, le microphone ne transmet aucun son.
Considérez ce paramètre comme le bouton du volume sur une chaîne stéréo : 0 correspond au volume minimum, et 50 au volume normal. Les nombres inférieurs à 50 indiquent un volume inférieur au volume normal, tandis que les nombres supérieurs à 50 indiquent un volume supérieur au volume normal. Les valeurs valides vont de 0 à 100, 50 étant la valeur par défaut. L'utilisateur peut modifier cette valeur dans le panneau Paramètres du microphone de Flash Player.
public function get gain():Number public function set gain(value:Number):voidVoir aussi
| index | propriété |
index:int [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Index du microphone, tel qu'indiqué dans le tableau renvoyé par Microphone.names.
public function get index():intVoir aussi
| muted | propriété |
muted:Boolean [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Spécifie si l'utilisateur a refusé (true) ou autorisé (false) l'accès au microphone. Lorsque cette valeur change, un événement status est distribué. Pour plus d'informations, voir Microphone.getMicrophone().
public function get muted():BooleanVoir aussi
| name | propriété |
name:String [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Nom du périphérique de capture audio actuel, tel que renvoyé par le matériel de capture audio.
public function get name():StringVoir aussi
| names | propriété |
names:Array [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Tableau de chaînes contenant les noms de tous les périphériques de capture audio disponibles. Les noms sont renvoyés sans qu'il soit nécessaire d'afficher le panneau des paramètres de confidentialité de Flash Player à l'intention de l'utilisateur. Ce tableau indique l'index (commençant à zéro) de chaque périphérique de capture audio, ainsi que le nombre de ces périphériques présents dans le système, par le biais de la propriété Microphone.names.length. Pour plus d'informations, consultez l'entrée de la classe Array.
L'appel de la propriété Microphone.names exige un examen minutieux du matériel et plusieurs secondes peuvent être nécessaires pour composer le tableau. Dans la plupart des cas, vous pouvez utiliser le microphone par défaut.
Remarque : pour connaître le nom du microphone actif, utilisez la propriété name.
public static function get names():ArrayVoir aussi
| rate | propriété |
rate:int [lecture-écriture] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Fréquence à laquelle le microphone capture le son, en kHz. Les valeurs autorisées sont celles que votre périphérique audio prend en charge parmi les suivantes : 5, 8, 11, 22 ou 44.
La valeur par défaut est 8 kHz si votre périphérique de capture audio prend en charge cette valeur. Dans le cas contraire, la valeur par défaut est le niveau de capture supérieur à 8 kHz immédiatement disponible et pouvant être pris en charge par votre périphérique de capture audio, généralement 11 kHz.
public function get rate():int public function set rate(value:int):void| silenceLevel | propriété |
silenceLevel:Number [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Volume sonore requis pour activer le microphone et distribuer l'événement activity. La valeur par défaut est 10.
public function get silenceLevel():NumberVoir aussi
| silenceTimeout | propriété |
silenceTimeout:int [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Nombre de millisecondes qui s'écoule entre le moment où le microphone arrête la détection du son et le moment où l'événement activity est distribué. La valeur par défaut est 2 000 (2 secondes).
Pour définir cette valeur, utilisez la méthode Microphone.setSilenceLevel().
public function get silenceTimeout():intVoir aussi
| soundTransform | propriété |
soundTransform:SoundTransform [lecture-écriture] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Contrôle le son de cet objet Microphone lorsque le mode loopback est activé.
public function get soundTransform():SoundTransform public function set soundTransform(value:SoundTransform):void| useEchoSuppression | propriété |
useEchoSuppression:Boolean [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Définit true si la fonctionnalité de suppression de l'écho est activée ; false dans le cas contraire. La valeur par défaut est false sauf si l'utilisateur sélectionne l'option Réduire l'écho dans le panneau Paramètres du microphone de Flash Player.
public function get useEchoSuppression():BooleanVoir aussi
| getMicrophone | () | méthode |
public static function getMicrophone(index:int = -1):Microphone| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Renvoie une référence à un objet Microphone pour capturer des données audio. Pour commencer la capture du flux audio, vous devez relier l'objet Microphone à un objet NetStream (voir NetStream.attachAudio() ).
Plusieurs appels à Microphone.get() font référence au même microphone. Ainsi, si votre code contient les lignes mic1 = Microphone.get() et mic2 = Microphone.get(), les lignes mic1 et mic2 font référence au même microphone (par défaut).
Si vous souhaitez utiliser le microphone par défaut, vous devez appeler getMicrophone() avec -1. Si vous l'appelez sans paramètres, il renvoie le premier microphone dans la liste.
Utilisez la propriété index pour obtenir la valeur d'index de l'objet Microphone actif. Vous pouvez ensuite transmettre cette valeur aux autres méthodes de la classe Microphone.
En général, il est préférable de ne pas transmettre de valeur pour index. Utilisez simplement la méthode Microphone.getMicrophone() pour renvoyer une référence au microphone par défaut. Dans le panneau Paramètres du microphone, l'utilisateur peut spécifier le microphone par défaut que l'application doit utiliser. Si vous transmettez une valeur pour index, vous pouvez référencer un microphone différent de celui que l'utilisateur a choisi. Vous pouvez utiliser index en de rares occasions, par exemple si votre application capture un flux audio à partir de deux microphones simultanément.
Lorsqu'un fichier SWF tente d'accéder à l'objet renvoyé par la méthode Microphone.getMicrophone(), par exemple lorsque vous appelez NetStream.attachAudio(), Flash Player affiche une boîte de dialogue Confidentialité qui permet à l'utilisateur d'autoriser ou de refuser l'accès au microphone. (Assurez-vous que la taille de votre scène est d'au moins 215 x 138 pixels ; il s'agit de la taille minimale requise par Flash Player pour afficher cette boîte de dialogue.)
Lorsque l'utilisateur répond à cette boîte de dialogue, un événement status indiquant la réponse de l'utilisateur est distribué. Vous pouvez également vérifier la propriété Microphone.muted pour déterminer si l'utilisateur a autorisé ou interdit l'accès au microphone.
Si Microphone.getMicrophone() renvoie la valeur null, cela signifie que le microphone est utilisé par une autre application ou qu'aucun microphone n'est installé sur le système. Pour déterminer si un microphone est installé, utilisez Microphones.names.length. Pour afficher le panneau Paramètres du microphone de Flash Player, qui permet à l'utilisateur de choisir le microphone référencé par Microphone.getMicrophone(), utilisez Security.showSettings().
Paramètres
index:int (default = -1) — Index du microphone. |
Microphone — Une référence à un objet Microphone pour capturer des données audio. |
status: — Distribué lorsqu'un microphone publie son état. Si la propriété code est réglée sur "Microphone.muted", l'utilisateur a interdit au fichier SWF d'accéder à son microphone. Si la propriété code est réglée sur "Microphone.unmuted", l'utilisateur a autorisé le fichier SWF à accéder à son microphone. |
Voir aussi
| setLoopBack | () | méthode |
public function setLoopBack(state:Boolean = true):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Dirige le flux audio capturé par un microphone vers les haut-parleurs locaux.
Paramètres
state:Boolean (default = true) |
| setSilenceLevel | () | méthode |
public function setSilenceLevel(silenceLevel:Number, timeout:int = -1):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Définit le niveau d'entrée minimal devant être considéré comme du son et (éventuellement) la durée de silence indiquant le début du silence.
silenceLevel ; dans ce cas, l'événement activity n'est jamais distribué.
Microphone.activityLevel.
La détection de l'activité est la capacité à détecter les niveaux audio indiquant qu'une personne est en train de parler. Lorsqu'une personne ne parle pas, il est possible d'économiser de la bande passante car il n'est pas nécessaire d'envoyer le flux audio correspondant. Ces informations peuvent également être utilisées à des fins de réponse visuelle afin que les utilisateurs (ou d'autres personnes) sachent qu'ils sont silencieux.
Les valeurs de silence correspondent directement aux valeurs d'activité. La valeur d'activité 0 est associée au silence total. La valeur d'activité 100 est associée à un bruit fort constant (maximum enregistrable selon le paramètre de gain actuel). Une fois le gain ajusté convenablement, votre valeur d'activité est inférieure à votre valeur de silence lorsque vous ne parlez pas. Inversement, lorsque vous parlez, la valeur d'activité dépasse celle du silence.
Cette méthode est similaire à la méthode Camera.setMotionLevel() ; ces deux méthodes sont utilisées pour spécifier à quel moment il convient de distribuer l'événement activity. Toutefois, leur impact sur la publication des flux diffère de manière significative :
Camera.setMotionLevel() est conçu pour détecter le mouvement et n'a aucune incidence sur l'utilisation de la bande passante. La vidéo est envoyée peu importe qu'un flux vidéo détecte du mouvement ou non.
Microphone.setSilenceLevel() est conçu pour optimiser la bande passante. Lorsqu'un flux audio est considéré comme étant silencieux, aucune donnée audio n'est envoyée. En revanche, un message unique indiquant le début du silence est envoyé.
Paramètres
silenceLevel:Number —
Volume sonore requis pour activer le microphone et distribuer l'événement activity. Les valeurs gérées sont comprises entre 0 et 100.
| |
timeout:int (default = -1) —
Nombre de millisecondes qui doit s'écouler sans activité avant que Flash Player ou Adobe AIR considère que le son a cessé pour distribuer l’événement dispatch. La valeur par défaut est 2 000 (2 secondes). (Remarque : la valeur par défaut indiquée dans la signature, -1, est une valeur interne qui indique à Flash Player ou Adobe AIR d’utiliser 2 000).
|
Voir aussi
| setUseEchoSuppression | () | méthode |
public function setUseEchoSuppression(useEchoSuppression:Boolean):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Spécifie s'il convient d'utiliser la fonctionnalité de suppression de l'écho du codec audio. La valeur par défaut est false sauf si l'utilisateur sélectionne l'option Réduire l'écho dans le panneau Paramètres du microphone de Flash Player.
La suppression de l'écho vise à réduire les effets de la réaction acoustique créée lorsque le son qui sort du haut-parleur est capté par le microphone sur un même ordinateur. (Elle diffère de l'annulation de l'écho qui supprime entièrement la réaction acoustique.)
En général, il est recommandé de supprimer l'écho lorsque le son capturé est lu via les haut-parleurs, et non par le casque, sur un même ordinateur. Si votre fichier SWF autorise les utilisateurs à spécifier le périphérique de sortie audio, il peut être souhaitable d'appeler Microphone.setUseEchoSuppression(true) s'ils précisent qu'ils utilisent les haut-parleurs et qu'ils ont également l'intention d'utiliser le microphone.
Les utilisateurs peuvent également ajuster ces paramètres dans le panneau Paramètres du microphone de Flash Player.
Paramètres
useEchoSuppression:Boolean —
Valeur booléenne indiquant s'il convient d'utiliser la suppression de l'écho (true) ou non (false ).
|
Voir aussi
| activity | Evénement |
flash.events.ActivityEventflash.events.ActivityEvent.ACTIVITY| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Distribué lorsqu'un microphone commence ou termine une session.
Pour spécifier la quantité de son requise pour déclencher cet événement avec une propriété activating true, ou le délai devant s'écouler sans son pour déclencher cet événement avec une propriété activating false, utilisez Microphone.setSilenceLevel().
ActivityEvent.ACTIVITY définit la valeur de la propriété type d'un objet événement activity.
Les propriétés de cet événement sont les suivantes :
| Propriété | Valeur |
|---|---|
activating
|
true si le périphérique est activé ou false s'il est désactivé.
|
bubbles
|
false
|
cancelable
|
false ; il n'existe aucun comportement par défaut à annuler.
|
currentTarget
| L'objet qui traite activement l'objet Event avec un écouteur d'événements. |
target
| Objet commençant ou terminant une session, tel qu'un objet Camera ou Microphone. |
Voir aussi
| status | Evénement |
flash.events.StatusEventflash.events.StatusEvent.STATUS| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Distribué lorsqu'un microphone publie son état. Si la valeur de la propriété code est réglée sur "Microphone.Muted", l'utilisateur a interdit au fichier SWF d'accéder au microphone. Si la valeur de la propriété code est réglée sur "Microphone.Unmuted", l'utilisateur a autorisé le fichier SWF à accéder au microphone.
type d'un objet événement status.
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.
|
code
| Description de l'état de l'objet. |
currentTarget
| L'objet qui traite activement l'objet Event avec un écouteur d'événements. |
level
|
Catégorie du message, telle que "status", "warning" ou "error".
|
target
| Objet publiant son état. |
Voir aussi
Security.showSettings() affiche la boîte de dialogue Flash Player qui demande l'autorisation d'accéder au microphone de l'utilisateur. L'appel à setLoopBack(true) réachemine l'entrée sur le haut-parleur local de sorte que vous pouvez entendre le son tandis que vous exécutez l'exemple.
Deux écouteurs surveillent les événements activity et status. L'événement activity est distribué au début et à la fin (si elle existe) de la session, et il est capturé par la méthode activityHandler() qui assure le suivi des informations sur l'événement. L'événement status est distribué si l'objet microphone joint signale des informations d'état ; sa capture et son suivi sont assurés par le biais de la méthode statusHandler().
Remarque : un microphone doit être branché sur votre ordinateur pour le bon déroulement de cet exemple.
package {
import flash.display.Sprite;
import flash.events.*;
import flash.media.Microphone;
import flash.system.Security;
public class MicrophoneExample extends Sprite {
public function MicrophoneExample() {
var mic:Microphone = Microphone.getMicrophone();
Security.showSettings("2");
mic.setLoopBack(true);
if (mic != null) {
mic.setUseEchoSuppression(true);
mic.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
mic.addEventListener(StatusEvent.STATUS, statusHandler);
}
}
private function activityHandler(event:ActivityEvent):void {
trace("activityHandler: " + event);
}
private function statusHandler(event:StatusEvent):void {
trace("statusHandler: " + event);
}
}
}