ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: AIR 30.0 i wcześniejsze, Flash Player 30.0 i wcześniejsze, Flash Lite 4
Flex 4.6 i wcześniejsze, Flash Pro CS6 i wcześniejsze
Ukryj filtry
flash.media 

Microphone  - AS3

Pakietyx

Najwyższy poziom
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Elementy językowe

Stałe globalne
Funkcje globalne
Operatory
Instrukcje, słowa kluczowe i dyrektywy
Typy specjalne

Dodatki

Nowości
Błędy kompilatora
Ostrzeżenia kompilatora
Błędy czasu wykonywania
Migracja kodu ActionScript 3
Obsługiwane zestawy znaków
Tylko MXML
Elementy XML dotyczące ruchu
Znaczniki tekstu z synchronizacją czasową
Przestarzały indeks
Stałe implementacji dostępności
Instrukcje dotyczące przykładów
Informacje prawne
Pakietflash.media
Klasapublic final class Microphone
DziedziczenieMicrophone Inheritance EventDispatcher Inheritance Object

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Klasa Microphone służy do monitorowania i przechwytywania dźwięku z mikrofonu.

Aby uzyskać dostęp do urządzenia mikrofonowego, można użyć metody Microphone.getMicrophone(). Metoda ta pozwala zwraca jednak prosty mikrofon, bez możliwości wyeliminowania echa akustycznego. Aby wyeliminować echo akustyczne, musisz utworzyć instancję mikrofonu przy użyciu metody Microphone.getEnhancedMicrophone(). Ta metoda zwraca urządzenie mikrofonowe z włączoną funkcją eliminowania echa akustycznego dla urządzenia mobilnego. Eliminacja echa akustycznego pozwala tworzyć aplikacje do obsługi dźwięków i wideo w czasie rzeczywistym, które nie wymagają używania zestawów słuchawkowych.

Tworzenie aplikacji obsługującej czat w czasie rzeczywistym

Aby utworzyć aplikację obsługującą czat w czasie rzeczywistym, należy zaprogramować przechwytywanie dźwięku i wysyłanie go na serwer Flash Media Server. Klasy NetConnection i NetStream pozwalają wysyłać strumienie dźwiękowe na serwer Flash Media Server. Serwer Flash Media Server może przekazywać dźwięk do innych klientów. Aby utworzyć aplikację obsługującą czat bez konieczności stosowania zestawów słuchawkowych, należy użyć funkcji eliminacji echa akustycznego. Eliminacja echa akustycznego to mechanizm zapobiegający sprzężeniu zwrotnemu, jakie występuje, gdy dźwięk jest rejestrowany przez mikrofon, przekazywany do głośników, a następnie ponownie rejestrowany przez mikrofon. Aby użyć funkcji eliminacji echa akustycznego, należy wywołać metodę Microphone.getEnhancedMicrophone() w celu pobrania odniesienia do wystąpienia klasy Microphone. Aby skonfigurować ustawienia, należy ustawić właściwość Microphone.enhancedOptions na wystąpienie klasy MicrophoneEnhancedOptions.

Lokalne odtwarzanie dźwięku z mikrofonu

Wywołując metodę setLoopback(), można przekierować dźwięk z mikrofonu wprost do wyjścia dźwięku komputera lub urządzenia lokalnego. Taka konfiguracja grozi powstaniem niekontrolowanego sprzężenia zwrotnego dźwięku. Jest to prawdopodobne, jeśli wejście mikrofonu może rejestrować dźwięki z wyjścia audio. Metoda setUseEchoSuppression() może ograniczyć ryzyko wzmocnienia sprzężenia zwrotnego, ale nie eliminuje go.

Przechwytywanie dźwięku z mikrofonu na potrzeby nagrywania lub przetwarzania lokalnego

Aby przechwycić dźwięk z mikrofonu, należy wykrywać zdarzenia sampleData wywoływane przez wystąpienie klasy Microphone. Wywoływany dla tego zdarzenia obiekt SampleDataEvent zawiera dane dźwiękowe.

Więcej informacji o przechwytywaniu strumieni wideo znajduje się w klasie Camera.

Obsługa mikrofonu w środowisku wykonawczym

Klasa Microphone nie jest obsługiwana w programie Flash Player działającym w przeglądarce dla urządzeń przenośnych.

Obsługa profili AIR: klasa Microphone jest obsługiwana w systemach operacyjnych dla komputerów stacjonarnych oraz przez urządzenia mobilne z systemami iOS i Android. Nie jest też obsługiwana na urządzeniach telewizyjnych ze środowiskiem AIR. Więcej informacji o obsłudze elementów interfejsu API w różnych profilach można znaleźć w sekcji Obsługa profilów aplikacji AIR.

W czasie wykonywania można sprawdzić, czy ta funkcja jest obsługiwana, odczytując właściwość Microphone.isSupported. W przypadku urządzeń telewizyjnych ze środowiskiem AIR właściwość Microphone.isSupported ma wartość true, ale metoda Microphone.getMicrophone() zawsze zwraca wartość null.

Ustawienia prywatności

Program Flash Player wyświetla okno dialogowe ustawień prywatności, dzięki któremu użytkownik może zezwolić na dostęp do mikrofonu lub go odmówić. Rozmiar okna aplikacji musi wynosić co najmniej 215 x 138 pikseli. Jest to minimalny rozmiar wymagany, aby wyświetlić okno dialogowe. Jeśli ten warunek nie zostanie spełniony, nastąpi automatyczna odmowa dostępu.

Zawartość działająca w obszarze izolowanym aplikacji AIR nie potrzebuje uprawnień w celu uzyskania dostępu do mikrofonu. W tym przypadku nie jest również wyświetlane żadne okno dialogowe. W przypadku zawartości AIR działającej poza obszarem izolowanym aplikacji są wymagane uprawnienia i jest wyświetlane okno dialogowe prywatności.

Wyświetl przykłady

Więcej informacji

Powiązane elementy interfejsu API



Właściwości publiczne
 WłaściwośćZdefiniowane przez
  activityLevel : Number
[tylko do odczytu] Poziom dźwięku wykrywanego przez mikrofon.
Microphone
  codec : String
Kodek używany dla kompresowania dźwięku.
Microphone
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
  enableVAD : Boolean
Włącza wykrywanie działania głosu Speex.
Microphone
  encodeQuality : int
Jakość kodowanej mowy, gdy stosowany jest kodek Speex.
Microphone
  enhancedOptions : MicrophoneEnhancedOptions
Steruje opcjami zaawansowanej obsługi mikrofonu.
Microphone
  framesPerPacket : int
Liczba klatek głosu Speex przesłanych w pakiecie (w komunikacie).
Microphone
  gain : Number
Wartość, o jaką mikrofon wzmacnia sygnał.
Microphone
  index : int
[tylko do odczytu] Indeks mikrofonu, uzyskany z tablicy zwróconej przez właściwość Microphone.names.
Microphone
  isSupported : Boolean
[statyczny] [tylko do odczytu] Właściwość isSupported ma wartość true, jeśli na bieżącej platformie jest obsługiwana klasa Microphone; w przeciwnym razie ma wartość false.
Microphone
  muted : Boolean
[tylko do odczytu] Określa, czy użytkownik zabronił dostępu do mikrofonu (prawda), czy zezwolił na dostęp (fałsz).
Microphone
  name : String
[tylko do odczytu] Nazwa aktualnie używanego urządzenia do przechwytywania dźwięków (zgodnie z danymi przekazanymi przez to urządzenie).
Microphone
  names : Array
[statyczny] [tylko do odczytu] Tablica ciągów znaków zawierających nazwy wszystkich dostępnych urządzeń do przechwytywania dźwięku.
Microphone
  noiseSuppressionLevel : int
Maksymalne tłumienie hałasu w dB (liczba ujemna) stosowane dla kodera Speex.
Microphone
      permissionStatus : String
[statyczny] [tylko do odczytu] Sprawdź, czy system otrzymał pozwolenie na dostęp do korzystania z mikrofonu.
Microphone
  rate : int
Częstotliwość, z jaką mikrofon przechwytuje dźwięk (w kHz).
Microphone
  silenceLevel : Number
[tylko do odczytu] Poziom dźwięku wymagany do uaktywnienia mikrofonu i wywołania odpowiedniego zdarzenia.
Microphone
  silenceTimeout : int
[tylko do odczytu] Liczba milisekund, które muszą upłynąć od momentu zaprzestania detekcji dźwięku przez mikrofon do momentu wywołania zdarzenia.
Microphone
  soundTransform : flash.media:SoundTransform
Pozwala kontrolować dźwięk rejestrowany przez mikrofon, gdy urządzenie to działa w trybie pętli zwrotnej.
Microphone
  useEchoSuppression : Boolean
[tylko do odczytu] Ustawia wartość true, jeśli jest włączona funkcja blokady echa; w przeciwnym wypadku false.
Microphone
Metody publiczne
 MetodaZdefiniowane przez
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu.
EventDispatcher
 Inherited
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń.
EventDispatcher
  
[statyczny] Zwraca odniesienie do ulepszonego obiektu Microphone, który pozwala wyeliminować echo akustyczne.
Microphone
  
[statyczny] Zwraca odwołanie do obiektu Microphone odpowiedzialnego za przechwytywanie audio.
Microphone
 Inherited
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń.
EventDispatcher
 Inherited
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość.
Object
 Inherited
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr.
Object
 Inherited
Wskazuje, czy określona właściwość istnieje i jest przeliczalna.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Usuwa detektor z obiektu EventDispatcher.
EventDispatcher
  
Wysyła żądanie pozwolenia aplikacji na dostęp do mikrofonu.
Microphone
  
setLoopBack(state:Boolean = true):void
Kieruje audio przechwycone przez mikrofon do lokalnych głośników.
Microphone
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
  
setSilenceLevel(silenceLevel:Number, timeout:int = -1):void
Pozwala określić minimalny poziom sygnału wejściowego interpretowanego jako dźwięk, a także (opcjonalnie) czas, po upływie którego brak sygnału jest interpretowany jako cisza.
Microphone
  
setUseEchoSuppression(useEchoSuppression:Boolean):void
Określa, czy będzie używana funkcja kodera-dekodera audio odpowiedzialna za blokowanie echa.
Microphone
 Inherited
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych.
Object
 Inherited
Zwraca ciąg reprezentujący określony obiekt.
Object
 Inherited
Zwraca pierwotną wartość dla określonego obiektu.
Object
 Inherited
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych.
EventDispatcher
Zdarzenia
 Zdarzenie Podsumowanie Zdefiniowane przez
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja środowiska wykonawczego AIR uzyskuje fokus w systemie operacyjnym i przechodzi w stan aktywny.EventDispatcher
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny.EventDispatcher
Szczegół właściwości

activityLevel

właściwość
activityLevel:Number  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Poziom dźwięku wykrywanego przez mikrofon. Wartości mieszczą się w przedziale od 0 (żaden dźwięk nie został wykryty) do 100 (wykryto bardzo głośny dźwięk) Wartość tej właściwości jest pomocna przy określaniu prawidłowej wartości przekazywanej do metody Microphone.setSilenceLevel().

Jeśli właściwość mikrofonu muted ma wartość true, wówczas wartość tej właściwości zawsze wynosi -1.



Implementacja
    public function get activityLevel():Number

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

Powiązane elementy interfejsu API

codec

właściwość 
codec:String

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5

Kodek używany dla kompresowania dźwięku. Dostępne są kodeki Nellymoser (domyślny) i Speex. Klasa zestawień SoundCodec zawiera różne wartości poprawne w przypadku właściwości codec.

Jeśli używany jest kodek Nellymoser, można ustawić częstotliwość próbkowania za pomocą metody Microphone.rate(). Jeśli używany jest kodek Speex, częstotliwość próbkowania jest ustawiona na 16 kHz.

Kodek Speex zawiera funkcję wykrywania głosu (VAD) i automatycznie zmniejsza używaną przepustowość, jeśli żaden głos nie jest wykrywany. W przypadku użycia kodeka Speex firma Adobe zaleca ustawienie poziomu ciszy na 0. W celu ustawienia poziomu ciszy należy użyć metody Microphone.setSilenceLevel().



Implementacja
    public function get codec():String
    public function set codec(value:String):void

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

Powiązane elementy interfejsu API

enableVAD

właściwość 
enableVAD:Boolean

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Włącza wykrywanie działania głosu Speex.



Implementacja
    public function get enableVAD():Boolean
    public function set enableVAD(value:Boolean):void

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

encodeQuality

właściwość 
encodeQuality:int

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5

Jakość kodowanej mowy, gdy stosowany jest kodek Speex. Możliwe wartości należą do zakresu od 0 do 10. Wartością domyślną jest 6. Wyższe wartości określają wyższą jakość, ale wymagają większej przepustowości, co zostało przedstawione w poniższej tabeli. Wartości ilości bitów na sekundę reprezentują ilości netto i nie uwzględniają narzutu wynikającego z przesyłania pakietów.

Jakość wartościWymaga ilość bitów na sekundę (kilobity na sekundę)
0 3,95
15,75
27,75
39,80
412,8
516,8
620,6
723,8
827,8
934,2
1042,2



Implementacja
    public function get encodeQuality():int
    public function set encodeQuality(value:int):void

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

Powiązane elementy interfejsu API

enhancedOptions

właściwość 
enhancedOptions:MicrophoneEnhancedOptions

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.3, AIR 2.7

Steruje opcjami zaawansowanej obsługi mikrofonu. Więcej informacji zawiera opis klasy MicrophoneEnhancedOptions. Ta właściwość jest ignorowana w przypadku nieulepszonych wystąpień klasy Microphone.



Implementacja
    public function get enhancedOptions():MicrophoneEnhancedOptions
    public function set enhancedOptions(value:MicrophoneEnhancedOptions):void

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

Powiązane elementy interfejsu API

framesPerPacket

właściwość 
framesPerPacket:int

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5

Liczba klatek głosu Speex przesłanych w pakiecie (w komunikacie). Długość każdej klatki to 20 ms. Domyślnie są to dwie klatki na pakiet.

Większa ilość klatek Speex w komunikacie przekłada się na mniejszą wymaganą przepustowość, ale większe opóźnienie podczas wysyłania komunikatu. Mniejsza ilość klatek Speex zwiększa wymaganą przepustowość, ale zmniejsza opóźnienie.



Implementacja
    public function get framesPerPacket():int
    public function set framesPerPacket(value:int):void

gain

właściwość 
gain:Number

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Wartość, o jaką mikrofon wzmacnia sygnał. Poprawne wartości należą do zakresu od 0 do 100. Wartością domyślną jest 50.



Implementacja
    public function get gain():Number
    public function set gain(value:Number):void

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

Powiązane elementy interfejsu API

index

właściwość 
index:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Indeks mikrofonu, uzyskany z tablicy zwróconej przez właściwość Microphone.names.



Implementacja
    public function get index():int

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

Powiązane elementy interfejsu API

isSupported

właściwość 
isSupported:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Właściwość isSupported ma wartość true, jeśli na bieżącej platformie jest obsługiwana klasa Microphone; w przeciwnym razie ma wartość false.



Implementacja
    public static function get isSupported():Boolean

muted

właściwość 
muted:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Określa, czy użytkownik zabronił dostępu do mikrofonu (true), czy zezwolił na dostęp (false). Jeśli wartość ulegnie zmianie, wywołane zostanie zdarzenie status. Aby uzyskać więcej informacji, należy zapoznać się z metodą Microphone.getMicrophone().



Implementacja
    public function get muted():Boolean

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

Powiązane elementy interfejsu API

name

właściwość 
name:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Nazwa aktualnie używanego urządzenia do przechwytywania dźwięków (zgodnie z danymi przekazanymi przez to urządzenie).



Implementacja
    public function get name():String

Powiązane elementy interfejsu API

names

właściwość 
names:Array  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Tablica ciągów znaków zawierających nazwy wszystkich dostępnych urządzeń do przechwytywania dźwięku. Nazwy zwracane są bez konieczności wyświetlania użytkownikowi panelu ustawień prywatności w programie Flash Player. Tablica umożliwia indeksowanie (od zera) każdego urządzania do przechwytywania dźwięku i przechowuje liczbę tych urządzeń w systemie we właściwości Microphone.names.length. Aby uzyskać więcej informacji, należy zapoznać się z sekcją klasy Array.

Wywołanie właściwości Microphone.names wymaga rozszerzonego skanowania sprzętu, dlatego utworzenie tablicy może zając kilkanaście sekund. W większości przypadków istnieje możliwość skorzystania z domyślnego mikrofonu.

Uwaga: aby określić nazwę bieżącego mikrofonu, należy skorzystać z właściwości name.



Implementacja
    public static function get names():Array

Powiązane elementy interfejsu API

noiseSuppressionLevel

właściwość 
noiseSuppressionLevel:int

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Maksymalne tłumienie hałasu w dB (liczba ujemna) stosowane dla kodera Speex. Jeśli jest włączone, wówczas tłumienie hałasu jest stosowane dla dźwięku przechwyconego z obiektu Microphone przed kompresją Speex. Aby wyłączyć tłumienie hałasu, należy ustawić wartość 0. Tłumienie hałasu jest domyślnie włączone z maksymalnym tłumieniem równym -30 dB. Ignorowane, gdy wybrany jest kodek Nellymoser.



Implementacja
    public function get noiseSuppressionLevel():int
    public function set noiseSuppressionLevel(value:int):void

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.
    

permissionStatus

właściwość 
permissionStatus:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 24.0

Sprawdź, czy system otrzymał pozwolenie na dostęp do korzystania z mikrofonu.



Implementacja
    public static function get permissionStatus():String

Powiązane elementy interfejsu API

rate

właściwość 
rate:int

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Częstotliwość, z jaką mikrofon przechwytuje dźwięk (w kHz). Dozwolone wartości: 5, 8, 11, 22 i 44. Wartością domyślną jest 8 kHz, jeśli urządzenie przechwytujące dźwięk obsługuje tę wartość. W innym wypadku wartością domyślną jest kolejna dostępna częstotliwość przechwytywania powyżej 8 kHz, która jest obsługiwana przez urządzenie użytkownika przechwytujące dźwięk, zazwyczaj 11 kHz.

Uwaga: Rzeczywista częstotliwość różni się nieznacznie od wartości rate, co ilustruje poniższa tabela:

Wartość rateRzeczywista częstotliwość
4444100 Hz
2222050 Hz
1111025 Hz
88000 Hz
55512 Hz



Implementacja
    public function get rate():int
    public function set rate(value:int):void

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

Powiązane elementy interfejsu API

silenceLevel

właściwość 
silenceLevel:Number  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Poziom dźwięku wymagany do aktywowania mikrofonu i wywołania zdarzenia activity Wartością domyślną jest 10.



Implementacja
    public function get silenceLevel():Number

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

Powiązane elementy interfejsu API

silenceTimeout

właściwość 
silenceTimeout:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Czas (w milisekundach), który musi upłynąć od momentu zaprzestania detekcji dźwięku przez mikrofon do momentu wywołania zdarzeniaactivity. Wartość domyślna to 2000 milisekund (2 sekundy).

Aby ustawić tę właściwość, należy skorzystać z metody Microphone.setSilenceLevel().



Implementacja
    public function get silenceTimeout():int

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

Powiązane elementy interfejsu API

soundTransform

właściwość 
soundTransform:flash.media:SoundTransform

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Pozwala kontrolować dźwięk rejestrowany przez mikrofon, gdy urządzenie działa on w trybie pętli zwrotnej.



Implementacja
    public function get soundTransform():flash.media:SoundTransform
    public function set soundTransform(value:flash.media:SoundTransform):void

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

useEchoSuppression

właściwość 
useEchoSuppression:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Ustawia wartość true, jeśli jest włączona funkcja blokady echa; w przeciwnym wypadku false. Wartością domyślną jest false, dopóki użytkownik nie zaznaczy opcji redukcji echa w panelu ustawień mikrofonu w programie Flash Player.



Implementacja
    public function get useEchoSuppression():Boolean

Powiązane elementy interfejsu API

Szczegół metody

getEnhancedMicrophone

()metoda
public static function getEnhancedMicrophone(index:int = -1):Microphone

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.3, AIR 2.7

Zwraca odniesienie do ulepszonego obiektu Microphone, który pozwala wyeliminować echo akustyczne. Funkcja eliminacji echa akustycznego pozwala tworzyć aplikacje do obsługi czatów dźwiękowych i wideo, które nie wymagają używania zestawów słuchawkowych.

Parametr index dla metody Microphone.getEnhancedMicrophone() działa tak samo jak dla metody Microphone.getMicrophone().

Aby użyć tej metody w systemie Android, należy dodać uprawnienie MODIFY_AUDIO_SETTINGS w dodatkach manifestu systemu Android w deskryptorze aplikacji.

Ważne: W danej chwili może istnieć tylko jedno wystąpienie ulepszonego urządzenia mikrofonu. Wszystkie inne wystąpienia klasy Microphone przestają wtedy udostępniać dane dźwiękowe i powodują odbieranie zdarzenia StatusEvent z właściwością code o wartości Microphone.Unavailable. W przypadku niepowodzenia inicjowania ulepszonej obsługi dźwięku wywołania tej metody zwracają wartość null, ustawienie wartości Microphone.enhancedOptions nie ma żadnych skutków, a wszystkie istniejące wystąpienia klasy Microphone działają tak samo jak dotąd.

Aby skonfigurować ulepszony obiekt Microphone, należy ustawić właściwość Microphone.enhancedOptions. W poniższym kodzie użyto ulepszonego obiektu Microphone i funkcji eliminacji echa akustycznego w trybie pełnego dupleksu na potrzeby testu lokalnego.

	     var mic:Microphone = Microphone.getEnhancedMicrophone();
	     var options:MicrophoneEnhancedOptions = new MicrophoneEnhancedOptions();
	     options.mode = MicrophoneEnhancedMode.FULL_DUPLEX;
	     mic.enhancedOptions = options;
	     mic.setLoopBack(true);
	 

W przypadku korzystania z funkcji eliminacji echa akustycznego metoda setUseEchoSuppression() jest ignorowana.

Jeśli plik SWF usiłuje uzyskać dostęp do obiektu zwróconego przez metodę Microphone.getEnhancedMicrophone() — na przykład w wywołaniu metody NetStream.attachAudio() — program Flash Player wyświetla okno dialogowe Prywatność, które umożliwia użytkownikowi określenie, czy zezwolić na dostęp do mikrofonu, czy odmówić dostępu. Należy się upewnić, że rozmiar stołu montażowego ma wymiary przynajmniej 215 x 138 pikseli; jest to minimalny rozmiar wymagany przez program Flash Player w celu poprawnego wyświetlania okna dialogowego.

Parametry

index:int (default = -1) — Wartość indeksu mikrofonu.

Zwraca
Microphone — Odwołanie do obiektu Microphone odpowiedzialne za przechwytywanie audio. Jeśli nie można zainicjować ulepszonej obsługi dźwięku, zwracana jest wartość null.

Powiązane elementy interfejsu API

getMicrophone

()metoda 
public static function getMicrophone(index:int = -1):Microphone

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Zwraca odwołanie do obiektu Microphone odpowiedzialnego za przechwytywanie audio. Aby rozpocząć przechwytywanie audio, należy dołączyć obiekt Microphone do obiektu NetStream (szczegóły można znaleźć w opisie metody NetStream.attachAudio()).

Wielokrotne wywołania metody Microphone.getMicrophone() odwołują się do tego samego mikrofonu. Jeśli zatem kod zawiera wiersza mic1 = Microphone.getMicrophone() i mic2 = Microphone.getMicrophone(), wówczas mic1 oraz mic2 odwoływać się będą do tego samego (domyślnego) mikrofonu.

Na ogół nie należy przekazywać wartości właściwości index. Wywołanie air.Microphone.getMicrophone() zwróci odwołanie do domyślnego mikrofonu. Za pomocą sekcji ustawień mikrofonu w panelu ustawień programu Flash Player użytkownik może określić domyślny mikrofon, z którego powinna korzystać aplikacja. (Dostęp do panelu ustawień programu Flash Player można uzyskać poprzez kliknięcie prawym przyciskiem myszy treści Flash Player działającej w przeglądarce WWW). Przekazanie wartość właściwości index może spowodować odwołanie się do innego mikrofonu, niż wybrany przez użytkownika. W rzadkich sytuacjach można użyć właściwości index — na przykład jeśli aplikacja przechwytuje audio z dwóch mikrofonów jednocześnie. Treść działająca w środowisku Adobe AIR również korzysta z ustawień programu Flash Player dla domyślnego mikrofonu.

Aby pobrać wartość indeksu bieżącego obiektu Microphone, należy skorzystać z właściwości Microphone.index. Wartość tę można następnie przekazać pozostałym metodom klasy Microphone.

Jeśli plik SWF usiłuje uzyskać dostęp do obiektu zwróconego przez metodę Microphone.getMicrophone() — na przykład w wywołaniu metody NetStream.attachAudio() — program Flash Player wyświetli okno dialogowe Prywatność, które umożliwi użytkownikowi wybranie, czy zezwolić, czy odmówić dostępu do mikrofonu. (Należy się upewnić, że rozmiar stołu montażowego ma wymiary przynajmniej 215 x 138 pikseli; jest to minimalny rozmiar wymagany przez program Flash Player w celu poprawnego wyświetlania okna dialogowego).

W momencie odpowiadania użytkownika w oknie dialogowym, wywoływane jest zdarzenie status, które wskazuje jego odpowiedź. Można również sprawdzić właściwość Microphone.muted, aby określić, czy użytkownik zezwolił, czy odmówił dostępu do mikrofonu.

Jeśli metoda Microphone.getMicrophone() zwróci wartość null, oznacza to, że z mikrofonu korzysta inna aplikacja lub nie ma żadnych kamer zainstalowanych w systemie. Aby określić, czy w systemie są zainstalowane mikrofony, należy skorzystać z właściwości Microphones.names.length. Aby wyświetlić panel ustawień mikrofonu programu Flash Player, który umożliwia użytkownikowi wybieranie kamery, do której będzie się odwoływać metoda Microphone.getMicrophone, należy skorzystać z metodySecurity.showSettings().

Parametry

index:int (default = -1) — Wartość indeksu mikrofonu.

Zwraca
Microphone — Odwołanie do obiektu Microphone odpowiedzialne za przechwytywanie audio.

Zdarzenia
status:StatusEvent — Wywoływane, gdy mikrofon zgłasza swój stan. Jeśli wartością właściwości code jest "Microphone.Muted", oznacza to, że użytkownik nie zezwolił plikowi SWF na dostęp do mikrofonu Jeśli właściwość code ma wartość "Microphone.Unmuted", oznacza to, że użytkownik zezwolił plikowi SWF na dostęp do mikrofonu.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład przedstawia sposób uzyskiwania dostępu do mikrofonu użytkownika za pomocą metody Microphone.getMicrophone(), a także nasłuchiwanie zdarzenia status. Przykład pochodzi z witryny ActionScriptExamples.com.
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

()metoda 
public function requestPermission():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 24.0

Wysyła żądanie pozwolenia aplikacji na dostęp do mikrofonu.


Zdarzenia
PermissionStatus:PermissionEvent — Rozsyłane, gdy użytkownik udzieli / nie udzieli zażądanego pozwolenia.

setLoopBack

()metoda 
public function setLoopBack(state:Boolean = true):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Kieruje dźwięk przechwycony przez mikrofon do głośników lokalnych.

Parametry

state:Boolean (default = true)


Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

setSilenceLevel

()metoda 
public function setSilenceLevel(silenceLevel:Number, timeout:int = -1):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Pozwala określić minimalny poziom sygnału wejściowego interpretowanego jako dźwięk, a także (opcjonalnie) czas, po upływie którego brak sygnału jest interpretowany jako cisza.

  • Aby całkowicie uniemożliwić wykrywanie dźwięku przez mikrofon, należy przekazać wartość 100 w parametrze silenceLevel; zdarzenie activity nigdy nie zostanie wywołane.
  • Aby określić poziom dźwięku, który w danym momencie wykrywa mikrofon, należy skorzystać z właściwości Microphone.activityLevel.

Kodek Speex zawiera funkcję wykrywania głosu (VAD) i automatycznie zmniejsza używaną przepustowość, jeśli żaden głos nie jest wykrywany. W przypadku użycia kodeka Speex firma Adobe zaleca ustawienie poziomu ciszy na 0.

Wykrywanie aktywności to zdolność do wykrywania dźwięku w momentach, gdy jego poziom sugeruje, że użytkownik·mówi. Jeśli użytkownik nic nie mówi, można wówczas zmniejszyć użycie szerokości pasma, ponieważ nie ma potrzeby przesyłania skojarzonego strumienia audio. Tej informacji można użyć w celu utworzenia wizualnej odpowiedzi, która pokaże użytkownikom, że na wejściu nie ma żadnego dźwięku.

Wartości ciszy bezpośrednio odpowiadają wartościom aktywności. Całkowita cisza to aktywność o wartości 0. Stały, głośny szum (najgłośniejszy możliwy do zarejestrowania na podstawie bieżącego ustawienia wzmocnienia) odpowiada wartości aktywności równej 100. Po właściwym ustawieniu wzmocnienia, wartość aktywności jest mniejsza, niż wartość ciszy w momencie, kiedy użytkownik nic nie mówi; kiedy użytkownik zaczyna mówić, wartość aktywności przewyższa wartość ciszy.

Metoda jest·podobna do metody Camera.setMotionLevel(); obie metody są używane do określania, kiedy należy wywołać zdarzenie activity. Jednak obie metody mają znacząco różny wpływ na publikowanie strumieni:

  • Metoda Camera.setMotionLevel() została zaprojektowana w celu wykrywania ruchu i nie ma żadnego wpływu na użycie szerokości pasma. Nawet jeśli w strumieniu wideo nie jest wykrywany ruch, wideo jest nadal przesyłane.
  • Metoda Microphone.setSilenceLevel() została zaprojektowana w celu optymalizacji szerokości pasma. Jeśli strumień audio zostanie uznany za cichy, żadne dane audio nie będą przesyłane. W zamian przesłany zostanie komunikat informujący o rozpoczęciu się ciszy.

Parametry

silenceLevel:Number — Poziom dźwięku wymagany do aktywowania mikrofonu i wywołania zdarzenia activity Dopuszczalne wartości mieszczą się w przedziale od 0 do 100.
 
timeout:int (default = -1) — Czas bezczynności (w milisekundach) jaki musi upłynąć, zanim program Flash Player lub środowisko Adobe AIR uwzględni zatrzymanie dźwięku i wywoła zdarzenie.dispatch Wartość domyślna to 2000 milisekund (2 sekundy). (Uwaga: wartość domyślna pokazana w sygnaturze (-1) jest wewnętrzną wartością, która wskazuje, że program Flash Player lub środowisko Adobe AIR będzie korzystać z wartości 2000).


Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

Powiązane elementy interfejsu API

setUseEchoSuppression

()metoda 
public function setUseEchoSuppression(useEchoSuppression:Boolean):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Określa, czy będzie używana funkcja kodera-dekodera audio odpowiedzialna za blokowanie echa. Wartością domyślną jest false, dopóki użytkownik nie zaznaczy opcji redukcji echa w panelu ustawień mikrofonu w programie Flash Player.

Tłumienie echa jest próbą zmniejszenia efektów dźwiękowego sprzężenia zwrotnego, którego wynikiem jest podnoszenie się dźwięku wydobywającego się z głośnika powodowanego przez mikrofon tego samego komputera. Mechanizm ten różni się od anulowania echa akustycznego, które całkowicie usuwa sprzężenie zwrotne. Metoda setUseEchoSuppression() jest ignorowana po wywołaniu metody getEnhancedMicrophone() w celu eliminacji echa akustycznego.

Ogólnie tłumienie echa jest wskazane, gdy przechwytywany dźwięk jest odtwarzany za pomocą głośników — zamiast przez słuchawki. Jeśli plik SWF umożliwia użytkownikom określenie wyjściowego urządzenia dźwiękowego, może pojawić się chęć wywołania metody Microphone.setUseEchoSuppression(true), jeśli użytkownicy wskażą, że korzystają z głośników i będą używać także mikrofonów.

Użytkownicy mogą również dostosowywać te ustawienia w panelu ustawień mikrofonu w programie Flash Player.

Parametry

useEchoSuppression:Boolean — Wartość logiczna wskazująca, czy ma być stosowana redukcja echa (true — tak, false — nie).


Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z mikrofonu.

Powiązane elementy interfejsu API

MicrophoneExample.as

Poniższy przykład przechwytuje dźwięk z mikrofonu za pomocą funkcji tłumienia echa, po tym jak użytkownik zezwoli na dostęp do mikrofonu komputera. Metoda Security.showSettings() wyświetla okno dialogowe programu Flash Player, które żąda uprawnienia do dostępu do mikrofonu użytkownika. Wywołanie metody setLoopBack(true) przekierowuje sygnał wejściowy do lokalnego głośnika tak, aby dźwięk był słyszalny w trakcie działania przykładu.

Dwa detektory nasłuchują zdarzenia activity i status. Zdarzenie activity wywoływane jest na początku i na końcu (jeśli istnieje) sesji i jest przechwytywane przez metodę activityHandler(), która śledzi informacje o zdarzeniu. Zdarzenie status wywoływane jest, gdy podłączony obiekt mikrofonu zgłosi jakąkolwiek informację o stanie; jest przechwytywane i śledzone za pomocą metody statusHandler().

Uwaga: Aby ten przykład zadziałał prawidłowo, należy podłączyć mikrofon do komputera.

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);
        }
    }
}




[ X ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.