рдлреНрд▓реИрд╢ рдмрд┐рд▓реНрдбрд░ 4.5 рдкреИрдХреЗрдЬ рдФрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ 3.0 рднрд╛рд╖рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдзреНрд╡рдирд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рдлреНрд▓реЗрдХреНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдФрд░ рд╕рд╛рдзрд╛рд░рдг рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрдиред рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡реЙрдпрд╕ рдЪреИрдЯ рдЬреИрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдирд╛рдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрди рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрд╡рд╛рдЬ рдкрд╣рдЪрд╛рди рдкреНрд░рдгрд╛рд▓реА рдореЗрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рд▓реЗрдЦ рдореЗрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрддрдирд╛ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдЗрди рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд╛рдо рдПрдХ рдлреНрд▓реЗрдХреНрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рдХрдиреЗрдХреНрд╢рди
рдЖрдЗрдП рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЦреБрд▓реЗрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝реНрд▓реИрд╢ рдмрд┐рд▓реНрдбрд░ 4.5 рдФрд░ AIR рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдПрдХ рдлреНрд▓реЗрдХреНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ (рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЬреЛ рдЖрдкрдХреЛ .swf рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде "рдлрд╝реНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡" рдирд╣реАрдВ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдерд╛рдкрдирд╛ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг-рдкреВрд░реНрдг рдЕрдиреБрдкреНрд░рдпреЛрдЧред )ред рддрдм рд╣рдо рдХрд╛рдо рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреБрдбрд╝реЗ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
public var micro:Microphone = Microphone.getMicrophone();
рдХреЛрдб рдХреА рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд╣рд▓реЗ рдкрддрд╛ рд▓рдЧрд╛рдП рдЧрдП рд╕рд╛рдЙрдВрдб рд░рд┐рдХреЙрд░реНрдбрд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдХреЛрдИ рдЙрдкрдХрд░рдг рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рдереЗ, рддреЛ
getMicrophone () рд╡рд┐рдзрд┐
рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдбрд┐рд╡рд╛рдЗрд╕ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрдВрдЧреЗ, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрдиреЗрдХреНрдЯ рдХрд┐рдП рдЧрдП рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдореЗрдВ рд╕реЗ рджреВрд╕рд░реЗ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ:
public var micro:Microphone = Microphone.getMicrophone(2);
рдпрджрд┐ рджреВрд╕рд░рд╛ рдЙрдкрдХрд░рдг рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ
рдирд▓ рднреА рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдЗрдВрдбреЗрдХреНрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реА, рдЕрдиреБрд░реЛрдзрд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИ, рдЬреЛ рдХрд┐ рдЯрд╛рдЗрдк рдЗрдВрдЯ, рдпрд╛рдиреА рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░ рд╣реИред
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрджрд┐ рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдлреНрд▓реИрд╢-рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдлрд╝реНрд▓реИрд╢ рдкреНрд▓реЗрдпрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдВрдбреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдпрд╛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдЧрд╛ред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рддреЛ STATUS рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рдШрдЯрдирд╛ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рдПрдЧреА, рдЬрд┐рд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдИрд╡реЗрдВрдЯ рдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдмрд╛рдВрдзрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЗрди рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╣реЛрдиреЗ рдкрд░ рдЖрдЧ рд▓рдЧ рдЬрд╛рдПрдЧреАред
micro.addEventListener(StatusEvent.STATUS, onStatus);
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдХреА рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЛ рдПрдХ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЖрдк рдЗрд╕реЗ рдСрди-рдХреНрд░рд┐рдПрдЯ рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ - рдлрд┐рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╣реИрдВрдбрд▓рд░ рдХреЛ рдШрдЯрдирд╛рдУрдВ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред
import mx.controls.Alert; protected function onStatus(e:StatusEvent):void{ if(e.code == "Microphone.Unmuted") Alert.show(" ."); else if(e.code == "Microphone.Muted") Alert.show(" ."); }
рдЗрд╕ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо STATUS рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рдИрд╡реЗрдВрдЯ рд╢реНрд░реЛрддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреЗрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░, рдСрдирд╕реНрдЯреИрдЯрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, e.code рд╡рд╣ рдореВрд▓реНрдп рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдПрдХ рдмрдЯрди рдХреЛ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реИрдВрдбрд▓рд░ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╕рдХреНрд╖рдо рдпрд╛ рдЕрдХреНрд╖рдоред
рдЕрдм рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рдореЗрдВ рдмреЛрд▓рдХрд░ рдХреБрдЫ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдХреЛрдИ рдЖрд╡рд╛рдЬрд╝ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рдореЗрдВ рдЖрддреА рд╣реИ, рддреЛ SAMPLE_DATA рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рдШрдЯрдирд╛ рд╕рдХреНрд░рд┐рдп рд╣реЛрддреА рд╣реИред рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рд╕реЗ рдзреНрд╡рдирд┐ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд╣рд▓реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдмрдирд╛рддреЗ рд╣реИрдВред рдПрдХ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдЬреИрд╕реЗ рдХрд┐ рдмрд╛рдЗрдЯрдЖрдпрд░реНрд░реЗ рдХрд╛ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдмрдирд╛рдиреЗ рд╕реЗ рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред
public var bArr:ByteArray = new ByteArray;
рдЕрдм, рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдЗрдХреНрд░реЛ рдЪрд░ рдореЗрдВ рдПрдХ рдШрдЯрдирд╛ рд╢реНрд░реЛрддрд╛ рдЬреЛрдбрд╝реЗрдВред
micro.addEventListener(SampleDataEvent.SAMPLE_DATA, onSampleC);
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо SAMPLE_DATA рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВред
protected function onSampleC(e:SampleDataEvent):void{ var sample:Number; bArr.clear(); while(e.data.bytesAvailable){ sample = e.data.readFloat(); bArr.writeFloat(sample); } }
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рдЕрдкрдиреЗ bArr рдмрд╛рдЗрдЯ рд╕рд░рдгреА рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЬрдм рдЖрдк рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рджреВрд╕рд░рд╛ рд░рд┐рдХреЙрд░реНрдб рдкрд╣рд▓реА рд╕рд░рдгреА рдХреЗ рдмрд╛рдж рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдкрдиреЗ рд╕рд░рдгреА рдореЗрдВ рдзреНрд╡рдирд┐ рдХреЛ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдкрдврд╝рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдмрдВрдж рди рд╣реЛ рдЬрд╛рдПред
рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХрд╛ рднреА рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рд╕реЗ рдзреНрд╡рдирд┐ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдг (рдпрд╛рдиреА, рд╕реНрдкреАрдХрд░) рдореЗрдВ рдзреНрд╡рдирд┐ рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
micro.setLoopBack(true);
рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде, рдПрдХ рдФрд░ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
mic.setUseEchoSuppression(true);
рдЗрд╕ рд╡рд┐рдзрд┐ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдЗрдХреЛ рд░рджреНрдж рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рднреА, рдзреНрд╡рдирд┐ рдереЛрдбрд╝реА рд╡рд┐рдХреГрдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдЬрдм micro.setLoopBack (рд╕рддреНрдп) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЖрдк рдЕрдкрдиреЗ рд╡рдХреНрддрд╛рдУрдВ рдХреЛ рдиреБрдХрд╕рд╛рди рднреА рдкрд╣реБрдВрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдзреНрд╡рдирд┐ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рд╛рдн рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдлреЙрд░реНрдо рдкрд░ HSlider рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдХрд░, рдЖрдк рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЗ рдореВрд╡рд┐рдВрдЧ рдЗрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдирд┐рдпрдВрддреНрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
protected function onSlCh():void { micro.gain = sl.value; }
рдЬрд╣рд╛рдВ sl HSlider рд╡рд╕реНрддреБ рдХреЗ рдЖрдИрдбреА рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рд╣реИрдВред
рдзреНрд╡рдирд┐ рдмрдЬрд╛рдУ
ActionScript 3.0 рдореЗрдВ рдзреНрд╡рдирд┐ рдХреА рдкреНрд░рд╛рдердорд┐рдХ рд╡рд╕реНрддреБ рд╕рд╛рдЙрдВрдб рдХреНрд▓рд╛рд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдпрд╣ рд╡рд╣ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдЦреЗрд▓рдиреЗ () рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реА рд╡рд┐рдзрд┐ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╕реНрдкреАрдХрд░ рдпрд╛ рд╣реЗрдбрдлрд╝реЛрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдзреНрд╡рдирд┐ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд╣рдорд╛рд░рд╛ рдкрд╣рд▓рд╛ рдХрд╛рдо mp3 рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рд╕рд╛рдЙрдВрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдмрдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдкрд╣рд▓реА рдЪреАрдЬрд╝, рд╕рд╛рдЙрдВрдб рдХреНрд▓рд╛рд╕ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдПрдордкреА 3 рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рддрдерд╛рдХрдерд┐рдд URLRequest рдмрдирд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ - рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рд╕реЗрдЯ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
public var urlr:URLRequest = new URLRequest("sample.mp3");
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдзреНрд╡рдирд┐ рдмрдирд╛рдИ рдЧрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИ рдФрд░ рдЗрд╕реЗ sample.mp3 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдерд╛рдиреАрдп рдбрд┐рд╕реНрдХ рд╕реЗ рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рдХрд╛ URLRequest рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдЪрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
public var urlr:URLRequest = new URLRequest("C:/sample.mp3");
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рддреБрд░рдВрдд рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
public var snd:Sound = new Sound(urlr);
рдФрд░ рд╡рд┐рдзрд┐ рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ
snd.play();
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдПрдХ рд╣реИрдВрдбрд▓рд░ рдкрд░ рд▓рдЯрдХрд╛рдХрд░, рдПрдХ рдмрдЯрди рджрдмрд╛рдХрд░ред
рдЖрдк рдЗрд╕реЗ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рдпрд╣ рд▓реЛрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдзреНрд╡рдирд┐ рдХреЛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд┐рд░ рд╕реЗ, рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдПрдХ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдмрдирд╛рдПрдБ рдЬреЛ рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рд╕рдХреНрд░рд┐рдп рд╣реЛ:
snd.addEventListener(Event.COMPLETE, onSndReady);
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, snd рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреА рддрд░рд╣ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
public var urlr:URLRequest = new URLRequest("C:/sample.mp3"); public var snd:Sound = new Sound();
рдПрдХ рдмрдЯрди рдИрд╡реЗрдВрдЯ рдХреЗ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рд▓рд┐рдЦреЗрдВ
snd.load();
рдпрд╣ рд╡рд┐рдзрд┐ urlr рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдзреНрд╡рдирд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓реЛрдб рдХрд░реЗрдЧреА, рдФрд░ рдЬрдм рдбрд╛рдЙрдирд▓реЛрдб рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рддреЛ рдпрд╣ рдПрдХ рдкреВрд░реНрдг рдШрдЯрдирд╛ рднреЗрдЬ рджреЗрдЧреАред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕рд╛рдЙрдВрдб рдХреНрд▓рд╛рд╕ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рд╡реИрд░рд┐рдПрдмрд▓ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдирд┐рд░реНрджрд┐рд╖реНрдЯ onSndReady рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдБ:
function onSndReady(e:Event):void { var lsnd:Sound = e.target as Sound; lsnd.play(); }
рдирддреАрдЬрддрди, рдЬреИрд╕реЗ рд╣реА urlr рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдзреНрд╡рдирд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдирд╛ рднреА рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдЬреЛ рдкреНрд▓реЗрдмреИрдХ рдХреА рддреИрдпрд╛рд░реА рдХреЗ рджреМрд░рд╛рди рдзреНрд╡рдирд┐ рдХреЗ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлреЙрд░реНрдо рдкрд░ рдПрдХ TextArea рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред рдЗрд╕рдХреА рд╕рдВрдкрддреНрддрд┐ рдЖрдИрдбреА = txt рдХрд╛ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рдЪрд┐рдд рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓реЛрдб рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рд╢реНрд░реЛрддрд╛ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
snd.addEventListener(ProgressEvent.PROGRESS, onLoading);
рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВрдЧреЗ рдХрд┐ рд╣рдорд╛рд░реЗ рддрд╛рддреНрдХрд╛рд▓рд┐рдХ рдкрд╛рда рд▓реЙрдЧ рдореЗрдВ txt рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдкреНрд░рддрд┐рд╢рдд рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛:
function onLoading(e:ProgressEvent):void { var loaded:int = Math.round(100 *(e.bytesLoaded / e.bytesTotal)); txt.text += " "+loaded+"%."; }
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, txt рдирд╛рдордХ рд▓реЙрдЧ рдореЗрдВ, рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рддрд┐рд╢рдд рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдВрдд рдореЗрдВ, рд╣рдореЗрдВ рдирд╛рдЯрдХ () рдкрджреНрдзрддрд┐ рдХреЗ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред
рдЙрдирдХреЗ рдкрд╛рд╕ рджреЛ рд╣реИрдВ - рдпрд╣ рд╕реНрдЯрд╛рд░реНрдЯрдЯрд╛рдЗрдо рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ, рдЬрд┐рд╕реЗ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд▓реВрдкреНрд╕ рдкреИрд░рд╛рдореАрдЯрд░, рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдзреНрд╡рдирд┐ рдХреЛ рдХрд┐рддрдиреА рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, snd.play (1000.3) snd рдореЗрдВ рднрд░реА рдЧрдИ рдзреНрд╡рдирд┐ рдХреЛ 1 рд╕реЗрдХрдВрдб рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рддреАрди рдмрд╛рд░ рджреЛрд╣рд░рд╛рдПрдЧрд╛ред
рдпрд╣ рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдкреНрд▓реЗрдЗрдВрдЧ рд╕рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ 3.0 рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреЗ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХрд╛ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдФрд░ рд╢реБрднрдХрд╛рдордирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред