Paket | flash.media |
Klass | public final class Microphone |
Arv | Microphone EventDispatcher Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Du kan använda metoden Microphone.getMicrophone()
när du vill få tillgång till enhetens mikrofon. Den här metoden returnerar en enkel mikrofon som inte kan eliminera akustiskt eko. För att ta bort akustiskt eko måste du hämta en instans av mikrofonen med metoden Microphone.getEnhancedMicrophone()
. Den här metoden returnerar en enhetsmikrofon som har funktionen för eliminering av akustiskt eko aktiverad för mobila enheter. Använd akustisk ekoeliminering för att skapa program med realtidsljud/-video som inte kräver headset.
Skapa ett program för realtidschatt
Om du vill skapa ett program för en realtidschatt ska du hämta ljudet och skicka det till Flash Media Server. Använd klasserna NetConnection och NetStream för att skicka ljudströmmen till Flash Media Server. Med Flash Media Server går det att sända ljud till andra klienter. Använd akustisk ekoeliminering om du vill skapa ett chatt-program som inte kräver headset. Med akustisk ekoeliminering förhindras rundgångar som inträffar när ljudet kommer in i mikrofonen, går ut genom högtalarna och sedan tillbaka in i mikrofonen igen. Om du vill använda akustisk ekoeliminering ska du anropa metoden Microphone.getEnhancedMicrophone()
för att få en referens till en Microphone-instans. Ange Microphone.enhancedOptions
för en instans av klassen MicrophoneEnhancedOptions
för att konfigurera inställningar.
Spela upp mikrofonljud lokalt
Anropa Microphone-metoden setLoopback()
för att skicka mikrofonljudet direkt till den lokala datorns eller enhetens ljudutgång. Okontrollerad rundgång är alltid en risk och kan uppstå när det uppspelade ljudet kan plockas upp av mikrofonen. Med metoden setUseEchoSuppression()
kan du minska (men inte eliminera) risken för rundgång.
Hämta mikrofonljud för lokal inspelning och bearbetning
Om du vill spela in mikrofonljud lyssnar du efter sampleData
-händelser som skickas av en Microphone-instans. Det SampleDataEvent-objekt som skickas för den här händelsen innehåller ljuddata.
Mer information om videoinspelning finns i beskrivningen av klassen Camera.
Stöd för mikrofon vid körning
Klassen Microphone stöds inte i Flash Player i mobilwebbläsare.
Stöd för AIR-profiler: Klassen Microphone stöds på operativsystem för datorer och iOS- samt Android-mobilenheter. Den stöds inte på enheter med AIR for TV. På sidan om stöd för AIR-profiler hittar du mer information om API-stöd för flera profiler.
Du kan testa stödet vid körning med egenskapen Microphone.isSupported
. Tänk på att för enheter med AIR for TV är Microphone.isSupported
true
, men Microphone.getMicrophone()
returnerar alltid null
.
Sekretesskontroller
I Flash Player visas dialogrutan Sekretess, där användaren kan välja om åtkomst till mikrofonen ska tillåtas eller inte. Programfönstret måste vara minst 215 x 138 pixlar stort, den minsta storlek som behövs för att visa dialogrutan, annars nekas åtkomst automatiskt.
Innehåll som körs i AIR-programmets sandlåda behöver inte tillåtelse att komma åt mikrofonen och därför visas ingen dialogruta. AIR-innehåll som körs utanför programmets sandlåda behöver däremot tillåtelse och dialogrutan Sekretess visas då.
Lär dig mer
Cristophe Coenraets: VoiceNotes for Android (VoiceNotes för Android)
Michael Chaize: AIR, Android, and the Microphone (AIR, Android och mikrofoner)
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
activityLevel : Number [skrivskyddad]
Mängden ljud som mikrofonen känner av. | Microphone | ||
codec : String
Den kodek som ska användas för att komprimera ljud. | Microphone | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
enableVAD : Boolean
Aktivera Speex-röstidentifiering. | Microphone | ||
encodeQuality : int
Kodad talkvalitet när Speex-kodeken används. | Microphone | ||
enhancedOptions : MicrophoneEnhancedOptions
Kontrollerar alternativ för förbättrad mikrofon. | Microphone | ||
framesPerPacket : int
Antal Speex-talrutor som överförs i ett paket (meddelande). | Microphone | ||
gain : Number
Den mängd med vilken mikrofonen förstärker signalen. | Microphone | ||
index : int [skrivskyddad]
Mikrofonens indexvärde, som reflekteras av arrayen som returneras av Microphone.names. | Microphone | ||
isSupported : Boolean [statisk] [skrivskyddad]
Egenskapen isSupported är true om klassen Microphone stöds på den aktuella plattformen, och i annat fall är värdet false. | Microphone | ||
muted : Boolean [skrivskyddad]
Anger om användaren har nekat åtkomst till mikrofonen (true) eller tillåtit åtkomst (false). | Microphone | ||
name : String [skrivskyddad]
Namnet på den nuvarande ljudinspelningsenheten, som returneras av maskinvaran för ljudinspelning. | Microphone | ||
names : Array [statisk] [skrivskyddad]
En array med strängar som innehåller namnen på alla tillgängliga ljudinspelningsenheter. | Microphone | ||
noiseSuppressionLevel : int
Maximal dämpning av brus i dB (negativt tal) som används för Speex-kodaren. | Microphone | ||
permissionStatus : String [statisk] [skrivskyddad]
Avgör om programmet har beviljats behörighet att använda mikrofonen. | Microphone | ||
rate : int
Den frekvens (i kHz) med vilken mikrofonen spelar in ljud. | Microphone | ||
silenceLevel : Number [skrivskyddad]
Hur mycket ljud som ska behövas för att mikrofonen ska aktiveras och skicka aktivitetshändelsen. | Microphone | ||
silenceTimeout : int [skrivskyddad]
Antalet millisekunder mellan den tidpunkt mikrofonen slutar identifiera ljud och den tidpunkt aktivitetshändelsen skickas. | Microphone | ||
soundTransform : flash.media:SoundTransform
Styr mikrofonobjektets ljud när objektet är i en slinga. | Microphone | ||
useEchoSuppression : Boolean [skrivskyddad]
Inställd på true om ekodämpning är aktiverad, annars false. | Microphone |
Metod | Definieras med | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. | EventDispatcher | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
[statisk]
Returnerar en referens till ett utökat Microphone-objekt som ska utföra akustisk ekoreducering. | Microphone | ||
[statisk]
Returnerar en referens till ett Microphone-objekt för ljudinspelning. | Microphone | ||
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse. | EventDispatcher | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tar bort en avlyssnare från EventDispatcher-objektet. | EventDispatcher | ||
Begär mikrofonbehörighet för programmet. | Microphone | ||
Kopplar ljud som spelats in av en mikrofon till de lokala högtalarna. | Microphone | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Anger den lägsta indatanivå som ska anses vara ljud och (eventuellt) hur lång tystnad som innebär att tystnad faktiskt har börjat. | Microphone | ||
Anger om ljudkodekens ekodämpningsfunktion ska användas. | Microphone | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen. | EventDispatcher |
activityLevel | egenskap |
activityLevel:Number
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Mängden ljud som mikrofonen känner av. Värdena kan vara från 0 (inget ljud identifieras) till 100 (mycket högt ljud identifieras). Värdet för den här egenskapen kan hjälpa dig att fastställa ett bra värdet att skicka till Microphone.setSilenceLevel()
-metoden.
Om mikrofonegenskapen muted
är true
, är värdet för den här egenskapen alltid -1.
Implementering
public function get activityLevel():Number
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
Relaterade API-element
codec | egenskap |
codec:String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Den kodek som ska användas för att komprimera ljud. Tillgängliga kodekenheter är Nellymoser (standard) och Speex. Uppräkningsklassen SoundCodec
innehåller de olika värden som är giltiga för egenskapen codec
.
Om du använder Nellymoser-kodeken kan du ange samplingsfrekvensen med Microphone.rate()
. Om du använder Speex-kodeken är samplingsfrekvensen inställd på 16 kHz.
Speex har även röstidentifiering och minskar automatiskt bandbredden när ingen röst hörs. Adobe rekommenderar att du ställer in tystnadsnivån på 0 när du använder Speex-kodeken. Använd metoden Microphone.setSilenceLevel()
för att ställa in tystnadsnivån.
Implementering
public function get codec():String
public function set codec(value:String):void
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
Relaterade API-element
enableVAD | egenskap |
enableVAD:Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10.1, AIR 2 |
Aktivera Speex-röstidentifiering.
Implementering
public function get enableVAD():Boolean
public function set enableVAD(value:Boolean):void
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
encodeQuality | egenskap |
encodeQuality:int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Kodad talkvalitet när Speex-kodeken används. Möjliga värden är från 0 till 10. Standardvärdet är 6. Högre nummer representerar högre kvalitet men kräver högre bandbredd. Se följande tabell. Överföringshastigheten som listas representerar nettoöverföringshastigheter och inkluderar inte tid för paketering.
Kvalitetsvärde | Krävd överföringshastighet (kilobyte per sekund) |
---|---|
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 |
Implementering
public function get encodeQuality():int
public function set encodeQuality(value:int):void
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
Relaterade API-element
enhancedOptions | egenskap |
enhancedOptions:MicrophoneEnhancedOptions
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10.3, AIR 2.7 |
Kontrollerar alternativ för förbättrad mikrofon. Mer information finns i MicrophoneEnhancedOptions
-klassen. Den här egenskapen ignoreras för icke-förbättrade Microphone-instanser.
Implementering
public function get enhancedOptions():MicrophoneEnhancedOptions
public function set enhancedOptions(value:MicrophoneEnhancedOptions):void
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
Relaterade API-element
framesPerPacket | egenskap |
framesPerPacket:int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Antal Speex-talrutor som överförs i ett paket (meddelande). Varje ram är 20 ms lång. Standardvärdet är två ramar per paket.
Fler Speex-rutor i ett meddelande gör att lägre bandbredd krävs men fördröjningen blir längre när meddelandet skickas. Färre Speex-rutor gör att större bandbredd krävs, men minskar fördröjningen.
Implementering
public function get framesPerPacket():int
public function set framesPerPacket(value:int):void
gain | egenskap |
gain:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Den mängd med vilken mikrofonen förstärker signalen. Giltiga värden är från 0 till 100. Standardvärdet är 50.
Implementering
public function get gain():Number
public function set gain(value:Number):void
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
Relaterade API-element
index | egenskap |
index:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Mikrofonens indexvärde, som reflekteras av arrayen som returneras av Microphone.names
.
Implementering
public function get index():int
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
Relaterade API-element
isSupported | egenskap |
muted | egenskap |
muted:Boolean
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger om användaren har nekat åtkomst till mikrofonen (true
) eller tillåtit åtkomst (false
). Om det här värdet ändras skickas en status
-händelse. Mer information finns i Microphone.getMicrophone()
.
Implementering
public function get muted():Boolean
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
Relaterade API-element
name | egenskap |
names | egenskap |
names:Array
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
En array med strängar som innehåller namnen på alla tillgängliga ljudinspelningsenheter. Namnen returneras utan att panelen Sekretessinställningar i Flash Player behöver visas för användaren. Arrayen ger information om det nollbaserade indexvärdet för varje ljudinspelningsenhet och antalet ljudinspelningsenheter i systemet via egenskapen Microphone.names.length
. Mer information finns under Array-klassen.
Anrop till Microphone.names
kräver en omfattande genomgång av maskinvaran. Det kan ta flera sekunder att skapa arrayen. I de flesta fall är det enklast att använda standardmikrofonen.
Obs! Om du vill bestämma namnet på den aktuella mikrofonen använder du egenskapen name
.
Implementering
public static function get names():Array
Relaterade API-element
noiseSuppressionLevel | egenskap |
noiseSuppressionLevel:int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10.1, AIR 2 |
Maximal dämpning av brus i dB (negativt tal) som används för Speex-kodaren. Om brusdämpning är aktiverat används det på ljud som spelas in från mikrofonen före Speex-komprimering. Ställ in det på 0 om du vill inaktivera brusdämpning. Brusdämpning är som standard aktiverat med en maximal dämpning på -30 dB. Ignoreras när Nellymoser-kodek har valts.
Implementering
public function get noiseSuppressionLevel():int
public function set noiseSuppressionLevel(value:int):void
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
permissionStatus | egenskap |
rate | egenskap |
rate:int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Den frekvens (i kHz) med vilken mikrofonen spelar in ljud. Giltiga värden är 5, 8, 11, 22 och 44. Standardvärdet är 8 kHz om ljudinspelningsenheten stöder det värdet. Annars är standardvärdet nästa tillgängliga inspelningsnivå över 8 kHz som stöds av ljudinspelningsenheten, vanligen 11 kHz.
Obs! Den faktiska frekvensen skiljer sig något från värdet för rate
, enligt följande tabell:
rate -värde | Faktisk frekvens |
---|---|
44 | 44 100 Hz |
22 | 22 050 Hz |
11 | 11 025 Hz |
8 | 8 000 Hz |
5 | 5 512 Hz |
Implementering
public function get rate():int
public function set rate(value:int):void
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
Relaterade API-element
silenceLevel | egenskap |
silenceLevel:Number
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Hur mycket ljud som ska behövas för att mikrofonen ska aktiveras och skicka activity
-händelsen. Standardvärdet är 10.
Implementering
public function get silenceLevel():Number
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
Relaterade API-element
silenceTimeout | egenskap |
silenceTimeout:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Antalet millisekunder mellan den tidpunkt mikrofonen slutar identifiera ljud och den tidpunkt activity
-händelsen skickas. Standardvärdet är 2000 (2 sekunder).
Om du vill ställa in det här värdet använder du metoden Microphone.setSilenceLevel()
.
Implementering
public function get silenceTimeout():int
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
Relaterade API-element
soundTransform | egenskap |
soundTransform:flash.media:SoundTransform
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Styr mikrofonobjektets ljud när objektet är i en slinga.
Implementering
public function get soundTransform():flash.media:SoundTransform
public function set soundTransform(value:flash.media:SoundTransform):void
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
useEchoSuppression | egenskap |
useEchoSuppression:Boolean
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Värdet är true
om ekodämpning är aktiverad, annars false
. Standardvärdet är false
om inte användaren har valt Minska eko på panelen Mikrofoninställningar i Flash Player.
Implementering
public function get useEchoSuppression():Boolean
Relaterade API-element
getEnhancedMicrophone | () | metod |
public static function getEnhancedMicrophone(index:int = -1):Microphone
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10.3, AIR 2.7 |
Returnerar en referens till ett utökat Microphone-objekt som ska utföra akustisk ekoreducering. Använd akustisk ekoeliminering för att skapa chatt-program med realtidsljud/-video som inte kräver headset.
Parametern index
fungerar på samma sätt för metoderna Microphone.getEnhancedMicrophone()
och Microphone.getMicrophone()
.
Lägg till tillståndet MODIFY_AUDIO_SETTINGS
under Android-manifesttilläggen i programbeskrivningsfilen när du vill använda metoden på Android-enheter.
Viktigt: Vid en given tid kan du endast ha en instans av en förbättrad mikrofonenhet. Alla andra Microphone-instanser kommer att sluta leverera ljuddata och de kommer att erhålla ett StatusEvent
med kodegenskapen
Microphone.Unavailable
. När förbättrat ljud inte initieras innebär anrop av den här metoden att null
returneras. Att ange ett värde för Microphone.enhancedOptions
har ingen effekt och alla befintliga Microphone-instanser fungerar som tidigare.
Om du vill konfigurera ett förbättrat Microphone-objekt, ska du ställa in egenskapen Microphone.enhancedOptions
. I följande kod används ett förbättrat Microphone-objekt och akustisk ekoeliminering med full-duplex i en lokal test:
var mic:Microphone = Microphone.getEnhancedMicrophone(); var options:MicrophoneEnhancedOptions = new MicrophoneEnhancedOptions(); options.mode = MicrophoneEnhancedMode.FULL_DUPLEX; mic.enhancedOptions = options; mic.setLoopBack(true);
Metoden setUseEchoSuppression()
ignoreras när akustisk ekoreducering används.
När en SWF-fil försöker nå objektet som returneras av metoden Microphone.getEnhancedMicrophone()
, till exempel när NetStream.attachAudio()
anropas, visas dialogrutan Sekretess som ger användaren möjlighet att tillåta eller neka åtkomst till mikrofonen. (Kontrollera att scenstorleken är minst 215 x 138 pixlar. Detta är minimistorleken för att dialogrutan ska kunna visas.)
Parametrar
index:int (default = -1 ) — Mikrofonens indexvärde.
|
Microphone — En referens till ett Microphone-objekt för ljudinspelning. Om ljudförbättring inte initieras returneras null .
|
Relaterade API-element
getMicrophone | () | metod |
public static function getMicrophone(index:int = -1):Microphone
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Returnerar en referens till ett Microphone-objekt för ljudinspelning. För att kunna börja spela in ljudet måste du koppla Microphone-objektet till ett NetStream-objekt (se NetStream.attachAudio()
).
Flera anrop till Microphone.getMicrophone()
hänvisar till samma mikrofon. Om din kod alltså innehåller raderna mic1 = Microphone.getMicrophone()
och mic2 = Microphone.getMicrophone()
refererar både mic1
och mic2
till samma mikrofon (standard).
För det mesta bör du inte skicka ett värde för index
. Anropa helt enkelt air.Microphone.getMicrophone()
för att returnera en referens till standardmikrofonen. Användaren kan ange den standardmikrofon som programmet ska använda med mikrofoninställningarna i Flash Player-inställningarna. (Användaren öppnar Flash Player-inställningarna genom att högerklicka på det Flash Player-innehåll som spelas upp i webbläsaren.) Om du skickar ett värde för index
kan du referera till en annan mikrofon än den som användaren väljer. I sällsynta fall kan du också använda index
, till exempel om ditt program spelar in ljud från två mikrofoner samtidigt. Innehåll som körs i Adobe AIR använder också Flash Player-inställningarna för standardmikrofonen.
Använd egenskapen Microphone.index
för att hämta indexvärdet för det aktuella Microphone-objektet. Sedan kan du skicka det här värdet till andra metoder i klassen Microphone.
När en SWF-fil försöker nå mikrofonen som returneras av metoden Microphone.getMicrophone()
– till exempel när du anropar NetStream.attachAudio()
– visas dialogrutan Sekretess som ger användaren möjlighet att tillåta eller neka åtkomst till mikrofonen. (Kontrollera att scenstorleken är minst 215 x 138 pixlar. Detta är minimistorleken för att dialogrutan ska kunna visas.)
När användaren svarar på den här dialogrutan skickas enstatus
-händelse med användarens svar. Du kan också avläsa egenskapen Microphone.muted
för att se om användaren tillåter eller nekar åtkomst till mikrofonen.
Om Microphone.getMicrophone()
returnerar null
används antingen mikrofonen av ett annat program eller så finns det ingen mikrofon installerad. Du kan avgöra om det finns några installerade mikrofoner med Microphones.names.length
. Om du vill visa panelen Mikrofoninställningar i Flash Player så att användaren kan välja vilken mikrofon som Microphone.getMicrophone
ska referera till använder du Security.showSettings()
.
Parametrar
index:int (default = -1 ) — Mikrofonens indexvärde.
|
Microphone — En referens till ett Microphone-objekt för ljudinspelning.
|
Händelser
status: — Skickas när en mikrofons status rapporteras. Om värdet för egenskapen code är "Microphone.Muted" tillåter användaren inte att SWF-filen får tillgång till användarens mikrofon. Om värdet för egenskapen code är "Microphone.Unmuted" tillåter användaren att SWF-filen får tillgång till användarens mikrofon.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
var mic:Microphone = Microphone.getMicrophone(); mic.setLoopBack(); mic.addEventListener(StatusEvent.STATUS, mic_status); var tf:TextField = new TextField(); tf.autoSize = TextFieldAutoSize.LEFT; tf.text = "Detecting microphone..."; addChild(tf); function mic_status(evt:StatusEvent):void { tf.text = "Microphone is muted?: " + mic.muted; switch (evt.code) { case "Microphone.Unmuted": tf.appendText("\n" + "Microphone access was allowed."); break; case "Microphone.Muted": tf.appendText("\n" + "Microphone access was denied."); break; } }
requestPermission | () | metod |
public function requestPermission():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 24.0 |
Begär mikrofonbehörighet för programmet.
Händelser
PermissionStatus: — skickas när begärd behörighet beviljas/nekas av användaren.
|
setLoopBack | () | metod |
public function setLoopBack(state:Boolean = true):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Kopplar ljud som spelats in av en mikrofon till de lokala högtalarna.
Parametrar
state:Boolean (default = true )
|
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
setSilenceLevel | () | metod |
public function setSilenceLevel(silenceLevel:Number, timeout:int = -1):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger den lägsta indatanivå som ska anses vara ljud och (eventuellt) hur lång tystnad som innebär att tystnad faktiskt har börjat.
- Om du vill att mikrofonen inte ska känna av ljud alls skickar du värdet 100 för
silenceLevel
. Då skickas aldrigactivity
-händelsen. - Ta reda på mängden ljud som mikrofonen känner av just nu med
Microphone.activityLevel
.
Speex har även röstidentifiering och minskar automatiskt bandbredden när ingen röst hörs. Adobe rekommenderar att du ställer in tystnadsnivån på 0 när du använder Speex-kodeken.
Aktivitetsidentifiering är förmågan att identifiera när ljudnivån kan innebära att någon pratar. När användaren inte pratar kan bandbredden sparas eftersom inget associerat ljudflöde behöver skickas. Informationen kan också användas för visuell återkoppling så att användarna vet att de (eller andra) är tysta.
Tystnadsvärden motsvarar aktivitetsvärden direkt. Total tystnad motsvarar aktivitetsvärdet 0. Konstant högt ljud (det högsta som kan registreras med den aktuella förstärkningsinställningen) motsvarar aktivitetsvärdet 100. När förstärkningen har justerats på lämpligt sätt är aktivitetsvärdet lägre än tystnadsvärdet när du inte pratar. När du pratar är aktivitetsvärdet högre än tystnadsvärdet.
Den här metoden liknar Camera.setMotionLevel()
. Båda metoderna används för att ange när activity
-händelsen ska skickas. Metoderna påverkar dock publiceringsflöden på helt olika sätt:
Camera.setMotionLevel()
är utformat för att känna av rörelse och påverkar inte bandbreddsanvändning. Även om ett videoflöde inte känner av rörelse skickas fortfarande video.Microphone.setSilenceLevel()
är utformad för att optimera bandbredd. När ett ljudflöde anses tyst, skickas inga ljuddata. I stället skickas ett enda meddelande som indikerar att tystnad har påbörjats.
Parametrar
silenceLevel:Number — Hur mycket ljud som ska behövas för att mikrofonen ska aktiveras och skicka activity -händelsen. Giltiga värden är från 0 till 100.
| |
timeout:int (default = -1 ) — Antalet millisekunder som ska gå utan aktivitet innan det bedöms att ljudet har avstannat och dispatch -händelsen skickas i Flash Player eller Adobe AIR. Standardvärdet är 2000 (2 sekunder). (Obs! Standardvärdet som visas i signaturen, -1, är ett internt värde som anger att Flash Player eller Adobe AIR ska använda 2000.)
|
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
Relaterade API-element
setUseEchoSuppression | () | metod |
public function setUseEchoSuppression(useEchoSuppression:Boolean):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger om ljudkodekens ekodämpningsfunktion ska användas. Standardvärdet är false
om inte användaren har valt Minska eko på panelen Mikrofoninställningar i Flash Player.
Ekodämpning används för att reducera effekten av rundgång, som orsakas av att mikrofonen fångar upp ljudet från högtalaren i samma system. (Detta är inte detsamma som akustisk ekoreducering som tar bort all ljudåterkoppling.) Metoden setUseEchoSuppression()
ignoreras när du anropar getEnhancedMicrophone()
-metoden för att använda akustisk ekoreducering.)
I allmänhet är det bra att använda ekodämpning om ljudet som spelas in ska spelas upp i högtalare (i stället för i ett headset). Om användaren tillåts ange ljuduppspelningsenhet i SWF-filen kan det vara bra att anropa Microphone.setUseEchoSuppression(true)
om användaren anger att högtalare ska användas och han eller hon dessutom kommer att använda mikrofonen.
Användaren kan också ändra dessa inställningar på panelen Mikrofoninställningar i Flash Player.
Parametrar
useEchoSuppression:Boolean — Ett booleskt värde som anger om ekodämpning ska användas (true ) eller inte (false ).
|
Utlöser
PermissionError — Programmet har inte behörighet att använda mikrofonen.
|
Relaterade API-element
Security.showSettings()
visar dialogrutan Flash Player som begär behörighet till användarens mikrofon. Anropet till setLoopBack(true)
dirigerar om indata till den lokala högtalaren, så att du kan höra ljudet när du kör exemplet.
Två lyssnare lyssnar efter activity
- och status
-händelser. Händelsen activity
skickas i början och slutet (om det finns något) på sessionen och hämtas av metoden activityHandler()
, som spårar information om händelsen. Händelsen status
skickas om det anslutna mikrofonobjektet rapporterar om statusinformation. Den läses in och spåras med metoden statusHandler()
.
Obs! En mikrofon måste vara ansluten till datorn för att det här ska fungera.
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); } } }
Tue Jun 12 2018, 01:40 PM Z