Paket | flash.media |
Sınıf | public final class Microphone |
Miras Alma | Microphone EventDispatcher Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Aygıt mikrofonuna erişim elde etmek için Microphone.getMicrophone()
yöntemini kullanabilirsiniz. Ancak, bu yöntem akustik yankıyı ortadan kaldırma imkanı sunmayan basit bir mikrofon döndürür. Akustik yankıyı ortadan kaldırmak için Microphone.getEnhancedMicrophone()
yöntemini kullanarak bir mikrofon örneği edinmeniz gerekir. Bu yöntem, mobil için akustik yankı iptali özelliğinin etkinleştirilmesi işlemini gerçekleştirebilen bir aygıt mikrofonu döndürür. Kulaklık gerektirmeyen gerçek zamanlı ses/video uygulamaları oluşturmak için akustik yankı gidermeyi kullanın.
Gerçek zamanlı sohbet uygulaması oluşturma
Gerçek zamanlı sohbet uygulaması oluşturmak için ses yakalayın ve Flash Media Server'a gönderin. Ses akışını Flash Media Server'a göndermek için NetConnection ve NetStream sınıflarını kullanın. Flash Media Server sesi diğer istemcilere yayınlayabilir. Kulaklık gerektirmeyen bir sohbet uygulaması oluşturmak için akustik yankı gidermeyi kullanın. Akustik yankı giderme, ses mikrofona girdikten sonra hoparlörlere gidip ardından tekrar mikrofona girdiğinde oluşan bildirim döngüsünü önler. Akustik yankı gidermeyi kullanmak üzere bir Microphone örneğine başvurmak için Microphone.getEnhancedMicrophone()
yöntemini çağırın. Ayarları yapılandırmak için Microphone.enhancedOptions
nesnesini MicrophoneEnhancedOptions
sınıfının bir örneğine ayarlayın.
Mikrofon sesini yerel olarak oynatma
Mikrofon sesini doğrudan yerel bilgisayara veya aygıt ses çıkışına yönlendirmek için Microphone setLoopback()
yöntemini çağırın. Denetimsiz ses geri bildirimi doğal bir tehlikedir ve ses çıkışı mikrofon girişi tarafından alınabildiğinde ortaya çıkması olası bir durumdur. setUseEchoSuppression
yöntemi, geri bildirim amplifikasyonu riskini azaltabilir, ancak ortadan kaldıramaz.
Yerel kayıt veya işleme için mikrofon sesini yakalama
Mikrofon sesi yakalamak için, bir Microphone örneği tarafından gönderilen sampleData
olaylarını dinleyin. Bu olay için gönderilen SampleDataEvent nesnesi ses verilerini içerir.
Video yakalama hakkında bilgi almak için Camera sınıfına bakın.
Çalışma zamanı mikrofon desteği
Microphone sınıfı, mobil bir tarayıcıda çalışan Flash Player'da desteklenmez.
AIR profil desteği: Microphone sınıfı masaüstü işletim sistemlerinde ve iOS ile Android mobil aygıtlarda desteklenir. AIR for TV aygıtlarında desteklenmez. Birden fazla profilde API desteği ile ilgili daha fazla bilgi için bkz. AIR Profil Desteği.
Desteği çalışma zamanında Microphone.isSupported
özelliğini kullanarak test edebilirsiniz. AIR for TV aygıtlarında, Microphone.isSupported
öğesinin true
olduğunu, ancak Microphone.getMicrophone()
öğesinin her zaman null
değeri döndürdüğünü aklınızda bulundurun.
Gizlilik denetimleri
Flash Player, kullanıcının mikrofona erişilmesine izin verip vermemeyi seçmesini sağlayan bir Gizlilik iletişim kutusunu görüntüler. Uygulama pencerenizin boyutu en az, iletişim kutusunu görüntülemek için gereken minimum boyut olan 215 x 138 piksel değerinde olmalıdır, aksi halde otomatik olarak erişim reddedilir.
AIR uygulama sanal alanında çalışan içeriğin, mikrofona erişmek için izne ihtiyacı yoktur ve hiçbir iletişim kutusu görüntülenmez. Uygulama sanal alanı dışında çalışan AIR içeriği izin gerektirir ve Gizlilik iletişim kutusu görüntülenir.
Daha fazla bilgi
Cristophe Coenraets: Voice Notes for Android (Android için Sesli Notlar)
Michael Chaize: AIR, Android, and the Microphone (AIR, Android ve Mikrofon)
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
activityLevel : Number [salt okunur]
Mikrofonun algıladığı ses miktarı. | Microphone | ||
codec : String
Ses sıkıştırmada kullanılacak codec bileşeni. | Microphone | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
enableVAD : Boolean
Speex ses etkinliği algılama özelliğini etkinleştirir. | Microphone | ||
encodeQuality : int
Speex codec bileşeni kullanırken kodlanan konuşma kalitesi. | Microphone | ||
enhancedOptions : MicrophoneEnhancedOptions
Gelişmiş mikrofon seçeneklerini kontrol eder. | Microphone | ||
framesPerPacket : int
Bir pakette (mesaj) iletilen Speex konuşma karesi sayısı. | Microphone | ||
gain : Number
Mikrofonun sinyalleri güçlendirme miktarı. | Microphone | ||
index : int [salt okunur]
Mikrofonun Microphone.names tarafından döndürülen dizide yansıtıldığı şekildeki dizini. | Microphone | ||
isSupported : Boolean [statik] [salt okunur]
isSupported özelliği, Microphone sınıfı geçerli platformda destekleniyorsa true olarak, aksi halde false olarak ayarlanır. | Microphone | ||
muted : Boolean [salt okunur]
Kullanıcının mikrofona erişime izin verip (false) vermediğini (true) belirtir. | Microphone | ||
name : String [salt okunur]
Ses yakalama donanımı tarafından döndürüldüğü şekilde, geçerli ses yakalama aygıtının adı. | Microphone | ||
names : Array [statik] [salt okunur]
Tüm kullanılabilir ses yakalama aygıtlarının adlarını içeren dizeler dizisi. | Microphone | ||
noiseSuppressionLevel : int
Speex kodlayıcısı için kullanılan, dB cinsinden maksimum gürültü zayıflaması (negatif sayı). | Microphone | ||
permissionStatus : String [statik] [salt okunur]
Uygulamaya Mikrofon kullanımı izninin verilip verilmediğini belirler. | Microphone | ||
rate : int
Mikrofonun kHz cinsinden ses yakalama hızı. | Microphone | ||
silenceLevel : Number [salt okunur]
Mikrofonu etkinleştirmek ve activity olayını göndermek için gerekli ses miktarı. | Microphone | ||
silenceTimeout : int [salt okunur]
Mikrofonun ses algılamayı durdurmasıyla activity olayının çağrılması arasında geçen milisaniye sayısı. | Microphone | ||
soundTransform : flash.media:SoundTransform
Geri döngü modunda olduğunda bu mikrofon nesnesinin sesini kontrol eder. | Microphone | ||
useEchoSuppression : Boolean [salt okunur]
Eko baskılama etkinse true; değilse false değerine ayarlayın. | Microphone |
Yöntem | Tanımlayan: | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder. | EventDispatcher | ||
Olay akışına bir olay gönderir. | EventDispatcher | ||
[statik]
Akustik yankı giderme uygulayabilen gelişmiş Microphone nesnesine giden bir başvuru döndürür. | Microphone | ||
[statik]
Ses yakalamak için bir Microphone nesnesine başvuru döndürür. | Microphone | ||
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder. | EventDispatcher | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
EventDispatcher nesnesinden bir dinleyiciyi kaldırır. | EventDispatcher | ||
Uygulama için mikrofon izni ister. | Microphone | ||
Mikrofon tarafından yakalanan sesi yerel hoparlörlere yönlendirir. | Microphone | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Ses kabul edilmesi gereken minimum giriş düzeyini ve (istenirse) sessizliğin başladığını anlatan sessiz geçen zaman miktarını ayarlar. | Microphone | ||
Ses codec bileşeninin eko baskılama özelliğinin kullanılıp kullanılmayacağını belirtir. | Microphone | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object | ||
Bir olay dinleyicisinin bu EventDispatcher nesnesiyle mi, yoksa onun belirtilen olay türüne yönelik üst öğelerinden biriyle mi kayıtlı olduğunu kontrol eder. | EventDispatcher |
activityLevel | özellik |
activityLevel:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Mikrofonun algıladığı ses miktarı. Değerler 0 (ses algılanmaz) ile 100 (çok yüksek ses algılanır) arasındadır. Bu özelliğin değeri, Microphone.setSilenceLevel()
yöntemine iletilecek iyi bir değer belirlemenize yardımcı olabilir.
Mikrofonun muted
özelliği true
olursa, bu özelliğin değeri her zaman -1 olur.
Uygulama
public function get activityLevel():Number
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
İlgili API Öğeleri
codec | özellik |
codec:String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Ses sıkıştırmada kullanılacak codec bileşeni. Kullanılabilir codec bileşenleri Nellymoser (varsayılan) ve Speex'tir. Numaralandırma sınıfı SoundCodec
, codec
özeliği için geçerli olan çeşitli değerleri içerir.
Nellymoser codec bileşenini kullanırsanız, Microphone.rate()
öğesini kullanarak örnek hızını ayarlayabilirsiniz. Speex codec bileşenini kullanırsanız, örnek hızı 16 kHz olarak ayarlanır.
Speex, ses etkinliği algılama (VAD) özelliğini içerir ve herhangi bir ses algılanmadığında bant genişliğini otomatik olarak azaltır. Speex codec bileşeni kullanılırken, Adobe sessizlik düzeyini 0 olarak ayarlamanızı önerir. Sessizlik düzeyini ayarlamak için, Microphone.setSilenceLevel()
yöntemini kullanın.
Uygulama
public function get codec():String
public function set codec(value:String):void
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
İlgili API Öğeleri
enableVAD | özellik |
enableVAD:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Speex ses etkinliği algılama özelliğini etkinleştirir.
Uygulama
public function get enableVAD():Boolean
public function set enableVAD(value:Boolean):void
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
encodeQuality | özellik |
encodeQuality:int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Speex codec bileşeni kullanırken kodlanan konuşma kalitesi. Olası değerler, 0 ila 10 arasındadır. Varsayılan değer 6'dır. Daha yüksek sayılar, daha yüksek kalite anlamına gelir, ancak şu tabloda da görüldüğü üzere, daha fazla band genişliği gerektirir. Listelenen bit hızı değerleri, net bit hızlarını temsil eder ve paketleme yükünü içermez.
Kalite değeri | Gerekli bit hızı (kilobit/saniye) |
---|---|
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 |
Uygulama
public function get encodeQuality():int
public function set encodeQuality(value:int):void
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
İlgili API Öğeleri
enhancedOptions | özellik |
enhancedOptions:MicrophoneEnhancedOptions
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.3, AIR 2.7 |
Gelişmiş mikrofon seçeneklerini kontrol eder. Daha fazla bilgi için MicrophoneEnhancedOptions
sınıfına bakın. Bu özellik geliştirilmemiş Microphone özellikleri için göz ardı edilir.
Uygulama
public function get enhancedOptions():MicrophoneEnhancedOptions
public function set enhancedOptions(value:MicrophoneEnhancedOptions):void
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
İlgili API Öğeleri
framesPerPacket | özellik |
framesPerPacket:int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Bir pakette (mesaj) iletilen Speex konuşma karesi sayısı. Her kare 20 ms uzunluktadır. Varsayılan değer, paket başına iki karedir.
Bir mesajdaki Speex karesi ne kadar fazlaysa, gerekli bant genişliği o kadar düşük olur ancak mesaj gönderilmesinde gecikme daha uzun sürer. Speex karesinin az olması, gerekli bant genişliğini artırır ancak gecikmeyi azaltır.
Uygulama
public function get framesPerPacket():int
public function set framesPerPacket(value:int):void
gain | özellik |
gain:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Mikrofonun sinyalleri güçlendirme miktarı. Geçerli değerler 0 ile 100 arasıdır. Varsayılan değer 50'dir.
Uygulama
public function get gain():Number
public function set gain(value:Number):void
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
İlgili API Öğeleri
index | özellik |
index:int
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Mikrofonun Microphone.names
tarafından döndürülen dizide yansıtıldığı şekildeki dizini.
Uygulama
public function get index():int
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
İlgili API Öğeleri
isSupported | özellik |
muted | özellik |
muted:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Kullanıcının mikrofona erişilmesini engelleyip (true
) engellemediğini (false
) belirtir. Bu değer değiştiğinde, bir status
olayı gönderilir. Daha fazla bilgi için bkz. Microphone.getMicrophone()
.
Uygulama
public function get muted():Boolean
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
İlgili API Öğeleri
name | özellik |
names | özellik |
names:Array
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Tüm kullanılabilir ses yakalama aygıtlarının adlarını içeren dizeler dizisi. Bu adlar kullanıcıya Flash Player Gizlilik Ayarları panelini görüntüleme gereği olmadan döndürülür. Bu dizi, Microphone.names.length
özelliği yoluyla her ses yakalama aygıtının sıfır temelli dizinini ve sistemdeki ses yakalama aygıtlarının sayısını sağlar. Daha fazla bilgi için, Array sınıfı girişine bakın.
Microphone.names
özelliğinin çağrılması için donanımın kapsamlı bir incelenmesi gerekir ve dizinin oluşturulması birkaç saniye sürebilir. Çoğu durumda yalnızca varsayılan mikrofonu kullanabilirsiniz.
Not: Geçerli mikrofonun adını belirlemek için name
özelliğini kullanın.
Uygulama
public static function get names():Array
İlgili API Öğeleri
noiseSuppressionLevel | özellik |
noiseSuppressionLevel:int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Speex kodlayıcısı için kullanılan, dB cinsinden maksimum gürültü zayıflaması (negatif sayı). Etkinleştirilirse, Speex sıkıştırmasından önce Microphone nesnesinden yakalanan sese gürültü bastırma uygulanır. Gürültü bastırmayı devre dışı bırakmak için 0 değerine ayarlayın. Gürültü bastırma, maksimum -30 dB zayıflama ile varsayılan olarak etkinleştirilir. Nellymoser codec bileşeni seçildiğinde yok sayılır.
Uygulama
public function get noiseSuppressionLevel():int
public function set noiseSuppressionLevel(value:int):void
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
permissionStatus | özellik |
rate | özellik |
rate:int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Mikrofonun kHz cinsinden ses yakalama hızı. Kabul edilebilir değerler, 5, 8, 11, 22 ve 44'tür. Ses yakalama aygıtınız 8 kHz değerini destekliyorsa, bu varsayılan değerdir. Aksi takdirde, ses yakalama aygıtınızın desteklediği 8 kHz üzerindeki bir sonraki yakalama düzeyi (genellikle 11 kHz olur) varsayılan değerdir.
Not: Aşağıdaki tabloda açıklandığı gibi, gerçek hız, rate
değerinden biraz farklıdır.
rate değeri | Gerçek frekans |
---|---|
44 | 44.100 Hz |
22 | 22.050 Hz |
11 | 11.025 Hz |
8 | 8.000 Hz |
5 | 5.512 Hz |
Uygulama
public function get rate():int
public function set rate(value:int):void
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
İlgili API Öğeleri
silenceLevel | özellik |
silenceLevel:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Mikrofonu etkinleştirmek ve activity
olayını göndermek için gerekli ses miktarı. Varsayılan değer 10'dur.
Uygulama
public function get silenceLevel():Number
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
İlgili API Öğeleri
silenceTimeout | özellik |
silenceTimeout:int
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Mikrofonun ses algılamayı durdurmasıyla activity
olayının çağrılması arasında geçen milisaniye sayısı. Varsayılan değer 2000'dir (2 saniye).
Bu değeri ayarlamak için Microphone.setSilenceLevel()
yöntemini kullanın.
Uygulama
public function get silenceTimeout():int
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
İlgili API Öğeleri
soundTransform | özellik |
soundTransform:flash.media:SoundTransform
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Geri döngü modunda olduğunda bu mikrofon nesnesinin sesini kontrol eder.
Uygulama
public function get soundTransform():flash.media:SoundTransform
public function set soundTransform(value:flash.media:SoundTransform):void
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
useEchoSuppression | özellik |
useEchoSuppression:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Eko baskılama etkinse true
; değilse false
değerine ayarlayın. Kullanıcı, Flash Player Mikrofon Ayarları panelinde Eko Azalt seçeneğini belirlemediyse, varsayılan olarak false
değerindedir.
Uygulama
public function get useEchoSuppression():Boolean
İlgili API Öğeleri
getEnhancedMicrophone | () | yöntem |
public static function getEnhancedMicrophone(index:int = -1):Microphone
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.3, AIR 2.7 |
Akustik yankı giderme uygulayabilen gelişmiş Microphone nesnesine giden bir başvuru döndürür. Kulaklık gerektirmeyen sesli/videolu sohbet uygulamaları oluşturmak için akustik yankı gidermeyi kullanın.
Microphone.getEnhancedMicrophone()
yönteminin ve Microphone.getMicrophone()
yönteminin index
parametresi aynı şekilde çalışır.
Bu yöntemi Android'de kullanmak için uygulama tanımlayıcısındaki Android bildirim eklentileri altında MODIFY_AUDIO_SETTINGS
iznini ekleyin.
Önemli: Herhangi bir zamanda geliştirilmiş mikrofon cihazının yalnızca bir örneğine sahip olabilirsiniz. Diğer tüm Microphone örnekleri ses verisi sağlamayı durdurur ve Microphone.Unavailable
code
özelliğine sahip bir StatusEvent
nesnesi alır. Geliştirilmiş ses başlatılamadığında bu yönteme yapılan çağrılar null
değerini döndürür, Microphone.enhancedOptions
için değer ayarlamanın hiçbir etkisi olmaz ve tüm mevcut Microphone örnekleri önceki gibi işlemeye devam eder.
Geliştirilmiş bir Microphone nesnesini yapılandırmak için Microphone.enhancedOptions
özelliğini ayarlayın. Aşağıdaki kod yerel bir testte geliştirilmiş Microphone nesnesini ve tam iki yönlü akustik yankı gidermeyi kullanır.
var mic:Microphone = Microphone.getEnhancedMicrophone(); var options:MicrophoneEnhancedOptions = new MicrophoneEnhancedOptions(); options.mode = MicrophoneEnhancedMode.FULL_DUPLEX; mic.enhancedOptions = options; mic.setLoopBack(true);
Akustik yankı giderme kullanılırken setUseEchoSuppression()
yöntemi yok sayılır.
Bir SWF dosyası Microphone.getEnhancedMicrophone()
tarafından döndürülen nesneye erişmeye çalıştığında (örneğin, NetStream.attachAudio()
öğesini çağırdığınızda), Flash Player, kullanıcının mikrofona erişilmesine izin verip vermemeyi seçmesini sağlayan bir Gizlilik iletişim kutusunu görüntüler. (Sahne Alanı boyutunun en az 215 x 138 piksel olduğundan emin olun; bu değer, Flash Player'ın iletişim kutusunu görüntülemek için gerektirdiği minimum boyuttur.)
Parametreler
index:int (default = -1 ) — Mikrofonun dizin değeri.
|
Microphone — Ses yakalamak için bir Microphone nesnesine başvuru. Geliştirilmiş ses başlatılamazsa null değerini döndürür.
|
İlgili API Öğeleri
getMicrophone | () | yöntem |
public static function getMicrophone(index:int = -1):Microphone
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Ses yakalamak için bir Microphone nesnesine başvuru döndürür. Ses yakalamaya başlamak için, Microphone nesnesini bir NetStream nesnesine eklemeniz gerekir (bkz. NetStream.attachAudio()
).
Microphone.getMicrophone()
öğesine yapılan birden çok çağrı, aynı mikrofona başvurur. Böylece, kodunuz mic1 = Microphone.getMicrophone()
ve mic2 = Microphone.getMicrophone()
satırlarını içeriyorsa, hem mic1
hem de mic2
aynı (varsayılan) mikrofona başvurur.
Genelde index
için bir değer iletmemeniz gerekir. Varsayılan mikrofona bir başvuru döndürmek için yalnızca air.Microphone.getMicrophone()
öğesini çağırın. Flash Player ayarları panelinde Mikrofon Ayarları bölümünü kullanarak, kullanıcı, uygulamanın kullanması gereken varsayılan mikrofonu belirtebilir. (Kullanıcı, web tarayıcısında çalışan Flash Player içeriğini sağ tıklatarak Flash Player ayarları paneline erişir.) index
için bir değer iletirseniz, kullanıcının seçtiği dışında bir mikrofona başvurabilirsiniz. index
öğesini nadir durumlarda, örneğin uygulamanız aynı anda iki mikrofondan ses yakaladığında kullanabilirsiniz. Adobe AIR'de çalışan içerik de varsayılan mikrofon için Flash Player ayarını kullanır.
Geçerli Microphone nesnesinin dizin değerini almak için Microphone.index
özelliğini kullanın. Daha sonra bu değeri Microphone sınıfının başka yöntemlerine iletebilirsiniz.
Bir SWF dosyası Microphone.getMicrophone()
tarafından döndürülen nesneye erişmeye çalıştığında (örneğin, NetStream.attachAudio()
öğesini çağırdığınızda), Flash Player, kullanıcının mikrofona erişilmesine izin verip vermemeyi seçmesini sağlayan bir Gizlilik iletişim kutusunu görüntüler. (Sahne Alanı boyutunun en az 215 x 138 piksel olduğundan emin olun; bu değer, Flash Player'ın iletişim kutusunu görüntülemek için gerektirdiği minimum boyuttur.)
Kullanıcı bu iletişim kutusuna yanıt verdiğinde, kullanıcının yanıtını belirten bir status
olayı gönderilir. Kullanıcının mikrofona erişilmesine izin verip vermediğini belirlemek için Microphone.muted
özelliğini de kontrol edebilirsiniz.
Microphone.getMicrophone()
öğesi null
değerini döndürürse, mikrofon başka bir uygulama tarafından kullanılıyordur veya sistemde yüklü mikrofon yoktur. Herhangi bir mikrofonun yüklü olup olmadığını belirlemek için Microphones.names.length
öğesini kullanın. Kullanıcının Microphone.getMicrophone
tarafından başvurulacak mikrofonu seçmesini sağlayan Flash Player Mikrofon Ayarları panelini görüntülemek için Security.showSettings()
öğesini kullanın.
Parametreler
index:int (default = -1 ) — Mikrofonun dizin değeri.
|
Microphone — Ses yakalamak için bir Microphone nesnesine başvuru.
|
Olaylar
status: — Bir mikrofon durumunu bildirdiğinde gönderilir. code özelliğinin değeri "Microphone.Muted" olursa, kullanıcı, SWF dosyasının kullanıcı mikrofonuna erişmesine izin vermeyi reddetmiştir. code özelliğinin değeri "Microphone.Unmuted" olursa, kullanıcı, SWF dosyasının kullanıcı mikrofonuna erişmesine izin vermiştir.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
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 | () | yöntem |
public function requestPermission():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 24.0 |
Uygulama için mikrofon izni ister.
Olaylar
PermissionStatus: — İstenilen izin kullanıcı tarafından verildiğinde/reddedildiğinde gönderilir.
|
setLoopBack | () | yöntem |
public function setLoopBack(state:Boolean = true):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Mikrofon tarafından yakalanan sesi yerel hoparlörlere yönlendirir.
Parametreler
state:Boolean (default = true )
|
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
setSilenceLevel | () | yöntem |
public function setSilenceLevel(silenceLevel:Number, timeout:int = -1):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Ses kabul edilmesi gereken minimum giriş düzeyini ve (istenirse) sessizliğin başladığını anlatan sessiz geçen zaman miktarını ayarlar.
- Mikrofonun sesi algılamasını önlemek için,
silenceLevel
parametresi için 100 değerini iletin; böylece hiçbir zamanactivity
olayı gönderilmez. - Mikrofonun geçerli olarak algıladığı ses miktarını belirlemek için
Microphone.activityLevel
öğesini kullanın.
Speex, ses etkinliği algılama (VAD) özelliğini içerir ve herhangi bir ses algılanmadığında bant genişliğini otomatik olarak azaltır. Speex codec bileşeni kullanılırken, Adobe sessizlik düzeyini 0 olarak ayarlamanızı önerir.
Etkinlik algılama, ses düzeylerinin bir kişinin konuştuğunu varsaydığı zamanı algılama yeteneğidir. Birisi konuşurken, ilişkilendirilmiş ses akışını gönderme gereği olmadığından bant genişliği kaydedilebilir. Bu bilgiler, kullanıcıların kendilerinin (veya başkalarının) sessiz olduğunu bilmesini sağlamak üzere görsel geri bildirim için de kullanılabilir.
Sessizlik değerleri, doğrudan etkinlik değerlerine karşılık gelir. Tamamen sessizlik, 0 etkinlik değerine karşılık gelir. Sürekli yüksek ses (geçerli kazanım ayarı esas alınarak kaydedilebilecek en yüksek değer) 100 etkinlik değerine karşılık gelir. Kazanım yaklaşık olarak ayarlandıktan sonra, etkinlik değeriniz, konuşma anınızdaki sessizlik değerinden düşüktür; konuşurken etkinlik değeriniz sessizlik değerinizi aşar.
Bu yöntem Camera.setMotionLevel()
yöntemine benzer; her iki yöntem de activity
olayının ne zaman gönderileceğini belirtmek için kullanılır. Ancak bu yöntemlerin yayın akışları üzerinde çok farklı etkileri vardır:
Camera.setMotionLevel()
, hareketi algılamak için tasarlanmış olup bant genişliği kullanımını etkilemez. Bir video akışı hareketi algılamasa da video yine de gönderilir.Microphone.setSilenceLevel()
, bant genişliğini en iyileştirmek için tasarlanmıştır. Bir ses akışı sessiz olarak değerlendirildiğinde, herhangi bir ses verisi gönderilmez. Bunun yerine, sessizliğin başladığını belirten tek bir mesaj gönderilir.
Parametreler
silenceLevel:Number — Mikrofonu etkinleştirmek ve activity olayını göndermek için gerekli ses miktarı. Kabul edilebilir değerler 0 - 100 aralığındadır.
| |
timeout:int (default = -1 ) — Flash Player veya Adobe AIR'in sesi durmuş olarak değerlendiripdispatch olayı göndermeden önce geçmesi gereken milisaniye cinsinden etkinsizlik süresi. Varsayılan değer 2000'dir (2 saniye). (Not: İşarette gösterilen varsayılan değer (-1), Flash Player veya Adobe AIR uygulamasının 2000 değerini kullandığını belirten bir dahili değerdir.)
|
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
İlgili API Öğeleri
setUseEchoSuppression | () | yöntem |
public function setUseEchoSuppression(useEchoSuppression:Boolean):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Ses codec bileşeninin eko baskılama özelliğinin kullanılıp kullanılmayacağını belirtir. Kullanıcı, Flash Player Mikrofon Ayarları panelinde Eko Azalt seçeneğini belirlemediyse, varsayılan olarak false
değerindedir.
Eko baskılama, hoparlörden çıkan ses aynı sistemdeki mikrofon tarafından alındığında ortaya çıkan ses geri bildiriminin etkisini azaltma eylemidir. (Bu, geri bildirimi tamamen yok eden akustik yankı gidermeden farklıdır. Akustik yankı gidermeyi kullanmak için getEnhancedMicrophone()
yöntemini kullandığınızda setUseEchoSuppression()
yöntemi yok sayılır.)
Genellikle, yakalanmakta olan ses, kulaklıklı mikrofon seti yerine hoparlörlerden çalınırken eko baskılama önerilir. SWF dosyanız kullanıcıların ses çıkış aygıtını belirtmesine izin veriyorsa, hoparlör kullandıklarını ve mikrofonu da kullanacaklarını belirttiklerinde Microphone.setUseEchoSuppression(true)
öğesini çağırmak isteyebilirsiniz.
Kullanıcılar, Flash Player Mikrofon Ayarları panelinde de bu ayarları yapabilir.
Parametreler
useEchoSuppression:Boolean — Yankı bastırmanın kullanılıp (true ) kullanılmayacağını (false ) gösteren bir Boolean değeri.
|
Atar
PermissionError — Uygulama Mikrofonu kullanma iznine sahip değildir.
|
İlgili API Öğeleri
Security.showSettings()
yöntemi, kullanıcının mikrofonuna erişim isteğinde bulunan Flash Player iletişim kutusunu görüntüler. setLoopBack(true)
çağrısı, girdiyi yerel hoparlöre yeniden yönlendirir, böylece örneği çalıştırırken sesi duyabilirsiniz.
İki dinleyici activity
ve status
olaylarını dinler. activity
olayı, oturumun (varsa) başında ve sonunda gönderilir ve olay hakkında bilgileri izleyen activityHandler()
yöntemi tarafından yakalanır. Takılı mikrofon nesnesi herhangi bir durum bilgisi bildirirse, status
olayı gönderilir; statusHandler()
yöntemi kullanılarak yakalanır ve izlenir.
Not: Bu örneğin doğru şekilde çalışması için bir mikrofonun bilgisayarınıza takılı olması gerekir.
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:09 PM Z