Macromedia Flash

V²uka Flash (29.)

┌vodem  |  V²uka Flash |  Odkazy  |  Aplikace  |  Otßzky a odpov∞di

Vyu₧φvßnφ mikrofonu a kamery

V dneÜnφm dφle si ukß₧eme, jak m∙₧eme vyu₧φvat mikrofon a kameru pomocφ Flashe. Kameru a mikrofon vyu₧ijeme zejmΘna p°i spoluprßci s Flash Communication Serverem, ale m∙₧eme je vyu₧φt takΘ pro lokßlnφ testovßnφ. M∙₧eme tak vytvo°it multimedißlnφ aplikace vyu₧φvajφcφ tento zp∙sob komunikace. My si nynφ ukß₧eme prßci s t∞mito t°φdami.

Pro p°φstup k mikrofonu je urΦena t°φda Microphone. Pomocφ tΘto t°φdy m∙₧eme p°istupovat k vlastnostem a metodßm danΘho mikrofonu. K mikrofonu m∙₧eme p°istupovat pomocφ nßsledujφcφho k≤du:


System.showSettings(2);
var hlavniMikrofon:Microphone = Microphone.get();

Pomocφ metody showSettings() nastavφme to, ₧e po kliknutφ prav²m tlaΦφtkem myÜi na zvolen² klip se nßm v menu Settings objevφ zßlo₧ka pro nastavenφ mikrofonu:

Pokud se Flash pokusφ p°istupovat k mikrofonu, zobrazφ se dialogovΘ okno, zda souhlasφme s p°φstupem k mikrofonu. Pokud v menu Settings zaÜkrtneme volbu Remember, bude p°φstup k mikrofonu z danΘ domΘny v₧dy dovolen. Nesmφme vÜak zapomenou, ₧e toto okno se zobrazφ pouze v p°φpad∞, ₧e mß nßÜ klip rozm∞ry v∞tÜφ ne₧ 215 x 138 pixel∙.

Pokud je v systΘmu nainstalovßno vφce mikrofon∙, m∙₧eme ke ka₧dΘmu p°istupovat op∞t pomocφ metody Get(), avÜak jako prvnφ parametr uvedeme id mikrofonu.


System.showSettings(2);
var hlavniMikrofon:Microphone = Microphone.get(1);

Zobrazit nßzvy nainstalovan²ch mikrofon∙ nßm umo₧≥uje vlastnost Microphone.names:


var seznamMikrofonu = Microphone.names;
for (var i=0; i<seznamMikrofonu.length; i++)
{
	trace(seznamMikrofonu[i]);
}

Kompletnφ jednoduchß ukßzka, kterß p°ehraje zvuk, jen₧ namluvφme by mohla vypadat nßsledovn∞:


// Nastavφme zobrazovanΘ menu.
System.showSettings(2);

// Vytvo°φme instanci t°φdy.
var hlavniMikrofon:Microphone = Microphone.get();

// Hlavnφmu klipu p°idßme zvuk.
_root.attachAudio(hlavniMikrofon);

Nynφ si ukß₧eme seznam metod a vlastnostφ, se kter²mi u tΘto t°φdy m∙₧eme pracovat.

Microphone.setGain( velikost )

Pomocφ tΘto metody m∙₧eme nastavit zesφlenφ zvolenΘho mikrofonu. Jako prvnφ parametr m∙₧eme dosadit Φφslo od 0 - 100, kdy 0 znamenß ₧ßdn² v²stup z mikrofonu, 50 normßlnφ hlasitost a Φφsla nad 50 znamenajφ zesφlenφ zvuku.

P°φklad:


// Vytvo°enφ instance t°φdy.
var hlavniMikrofon:Microphone = Microphone.get();

// Nastavφme zesφlenφ mikrofonu.
hlavniMikrofon.setGain(100);

Microphone.setRate( velikost )

Umo₧≥uje nastavit rychlost v kHz, ve kterΘ bude mikrofon zaznamenßvat zvuk (zßle₧φ na podpo°e danΘho HW). V²chozφ hodnoty jsou 5, 8, 11, 22 a 44. Jako prvnφ parametr m∙₧eme dosadit jedno z uveden²ch Φφsel.

P°φklad:


// Vytvo°enφ instance t°φdy.
var hlavniMikrofon:Microphone = Microphone.get();

// Nastavφme informace o zaznamenßvßnφ zvuku.
hlavniMikrofon.setRate(22);

Microphone.setSilenceLevel( Φφslo, [ timeout ] )

Pomocφ tΘto metody m∙₧eme nastavit citlivost mikrofonu, p°i kterΘ bude aktivovßn mikrofon a bude vyvolßna udßlost "onActivity". Jako prvnφ parameter m∙₧eme dosadit Φφslo od 0 - 100, kdy v²chozφ hodnotou je Φφslo 10. Druh²m nepovinn²m parametrem je poΦet vte°in, po kter²ch bude vyvolßna udßlost "onActivity" oznamujφcφ konec zßznamu hlasu. V²chozφ hodnotou je Φφslo 2000 (2 vte°iny).

P°φklad:


// Vytvo°enφ instance t°φdy.
var hlavniMikrofon:Microphone = Microphone.get();

// Nastavφme citlivost mikrofonu.
hlavniMikrofon.setSilenceLevel(20, 1500);

Microphone.setUseEchoSuppression( ozvena )

Tato metoda umo₧≥uje zapnout nebo vypnout softwarovΘ potlaΦenφ ozv∞ny. Pokud dosadφme jako prvnφ parametr hodnotu "true" bude ozv∞na zapnuta, v opaΦnΘm p°φpad∞ bude vypnuta.

P°φklad:


// Vytvo°enφ instance t°φdy.
var hlavniMikrofon:Microphone = Microphone.get();

// Nastavφme potlaΦenφ ozv∞ny.
hlavniMikrofon.setUseEchoSuppression(true);

Nynφ si uvedeme seznam vlastnostφ, kterΘ jsou nßm k dispozici p°i prßci s mikrofonem.

Microphone.activityLevel

Tato vlastnost udßvß mno₧stvφ zvuku, kterΘ mikrofon p°ijφmß. Hodnoty mohou b²t od 0 - ₧ßdn² zvuk do 100 velmi siln² zvuk. V p°φpad∞, ₧e nenφ mikrofon k dispozici, vracφ vlastnost hodnotu -1.


Microphone.gain

Udßvß Φφslo, p°i kterΘm dojde k zesφlenφ mikrofonu. Hodnota m∙₧e b²t od 0 - 100. V²chozφ hodnota je 50.


Microphone.index

Vracφ ΦφselnΘ vyjßd°enφ pozice (indexu) danΘho mikrofonu v poli "Microphone.names".


Microphone.muted

Vlastnost vracejφcφ boolean hodnotu a urΦujφcφ, zda mß u₧ivatel povolen p°φstup k mikrofonu.


Microphone.name

Vracφ jmΘno za°φzenφ, kterΘ je prßv∞ vybrßno pro zaznamenßvßnφ zvuku.


Microphone.names

Vracφ pole jmen za°φzenφ, kterΘ jsou k dispozici pro zaznamenßvßnφ zvuku.


Microphone.rate

Vlastnost vracejφcφ kvalitu zaznamenßvanΘho zvuku v kHz. V²chozφ hodnotou je hodnota 8 kHz.


Microphone.silenceLevel

Vracφ Φφslo vyjad°ujφcφ mno₧stvφ zvuku, kterΘ je pot°ebnΘ k aktivovßnφ mikrofonu. V²chozφ hodnotou je hodnota 10.


Microphone.silenceTimeOut

Vracφ Φφslo vyjad°ujφcφ dobu, po kterΘ mikrofon vyvolß udßlost "onActivity" a ukonΦφ detekovßnφ zvuku. V²chozφ hodnotou je hodnota 2000 (2 vte°iny).


Microphone.useEchoSuppression

Vlastnost vracejφcφ boolean hodnotu, zda je zapnuta podpora odbourßvßnφ ozv∞ny.


Jak jsme si ji₧ °φkali, mßme k dispozici udßlost onActivity, kterß je vyvolßna tehdy, kdy₧ mikrofon zaΦne a skonΦφ zaznamenßvßnφ zvuku. Programov∞ by tato udßlost mohla vypadat nßsledovn∞:


// Zobrazφme systΘmovΘ menu pro mikrofon.
System.showSettings(2);

// Vytvo°φme instanci t°φdy Microphone.
var hlavniMikrofon:Microphone = Microphone.get();

// P°i°adφme hlavnφmu klipu zaznamenßvan² zvuk.
_root.attachAudio(hlavniMikrofon);

// Po zahßjenφ aktivity vyvolßme udßlost.
hlavniMikrofon.onActivity = function (aktivni:Boolean)
{
	if (aktivni){
		trace("Mikrofon je aktivnφ");
	} else {
		trace("Mikrofon je neaktivnφ");
	}
}

 


Zßv∞r

Pro tento dφl to bude vÜe. V p°φÜtφm dφle si povφme o zaznamenßvßnφ videa z kamery.

 

Petr Rympler