рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдзреНрд╡рдирд┐ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдФрд░ рд╕рдВрд╢реЛрдзрди

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрд╝реЗрджрд╛рд░ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдЬрд┐рд╕ рдкрд░ рдзреНрд╡рдирд┐ рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдФрд░ рд╕рдВрд╢реЛрдзрди рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рднреА рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреБрдХреНрдд рдПрдиреАрдореЗрд╢рди рдЪрд╛рд╣рд┐рдП рдерд╛ред рд╕реА ++ рдпрд╛ рд╕реА # рдореЗрдВ рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдП, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред
рдереЛрдбрд╝реА рд╕реА рдЧреБрдЧрд▓реА, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдзреНрд╡рдирд┐ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рдХрдИ рдЕрд╡рд╕рд░ рдирд╣реАрдВ рд╣реИрдВред рд╕рдмрд╕реЗ рдЖрдо рдлреНрд▓реИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИред рдореБрдЭреЗ рдлреНрд▓реИрд╢ рдХрд╛ рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдПрдЪрдЯреАрдПрдордПрд▓ рдореЗрдВ рд╕рднреА рдпреВрдЖрдИ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдХрд┐рд╕реА рддрд░рд╣ рдлреНрд▓реИрд╢ рдХреЗ рдмрд┐рдирд╛ рдпрд╛ рдЗрд╕рдХреА рдиреНрдпреВрдирддрдо рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рд╕рд╛рде рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рдерд╛ред рдирддреАрдЬрддрди, рдореБрдЭреЗ рдзреНрд╡рдирд┐ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП jQuery рдХреЗ jRecorder рдкреНрд▓рдЧрдЗрди рдорд┐рд▓рд╛ рдЬреЛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдлреНрд▓реИрд╢, рдпрд╛ рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдкрдЯреЗ рд╣реБрдП рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдореЗрд░реЗ рдЕрдиреБрдХреВрд▓ рдерд╛ред


рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рдореЗрдВ рдХреБрдЫ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛, рдпрд╣ рдзреНрд╡рдирд┐ рд░рд┐рдХреЙрд░реНрдб рдХреА рдЧрдИ рдереА, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдереЛрдбрд╝рд╛ рд╡рд┐рдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡рд╣рд╛рдВ рдХреБрдЫ рд╕рд░рд▓ рдПрдиреАрдореЗрд╢рди рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди, рдореИрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реВрдВ, рдбрд┐рдЬрд╛рдЗрдирд░ рдирд╣реАрдВ, рдЗрд╕рд▓рд┐рдП рдлреНрд▓реИрд╢ рдпрд╛ рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдлрд┐рд▓реНрдо рдмрдирд╛рдирд╛ рдореЗрд░рд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ - рдореИрдВрдиреЗ рдЦреБрдж рд╕рд╛рдЗрдЯ рдХрд╛ рдкреГрд╖реНрда рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдПрдиреАрдореЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд┐рдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдПрдХ рдЕрдЬреАрдм рд╕реЗ рд╣рдореНрд╕рдЯрд░ рдХреЛ рдЧреБрджрдЧреБрджрд╛рдпрд╛ рдЬреЛ рдХреБрдЫ рдЪрдмрд╛рддрд╛ рд╣реИ, рдФрд░ рдорди рдореЗрдВ рдЦреНрдпрд╛рд▓ рдЖрдпрд╛ - рдЙрд╕реЗ рдЪреБрдк рд░рд╣рдиреЗ рджреЛ (рдпрд╣ рд╕реБрдирдХрд░ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рдореЗрдВ рдХреБрдЫ рдХреИрд╕реЗ рдХрд╣рддрд╛ рд╣реИ), рдФрд░ рдлрд┐рд░ "рдЙрдЪреНрдЪрд╛рд░рдг" рдХрд░реЗрдВред рдпрд╣ рд╣реИ рдХрд┐, рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛:
- рдзреНрд╡рдирд┐ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ
- рдзреНрд╡рдирд┐ рд╡рд┐рдХреГрддрд┐
- рдзреНрд╡рдирд┐ рдЪрд▓рд╛рдпреЗрдВ рдФрд░ рдПрдиреАрдореЗрд╢рди рд╕рдХреНрд╖рдо рдХрд░реЗрдВ

рдЦреИрд░, рдХрд╛рдо рдореЗрдВ рдЙрдмрд╛рд▓ рдЖрдиреЗ рд▓рдЧрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╕рд░рд▓ JS рдХреЛрдб рд▓рд┐рдЦрд╛, рдЬреЛ рд╣рдореНрд╕рдЯрд░ рдХреА рдПрдХ рд╕реНрдерд┐рд░ рддрд╕реНрд╡реАрд░ рдХреЛ gif рдЪрд┐рддреНрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ:
function setPictureHamsterStop() { document.getElementById("switch").src = "2.png"; } function setPictureHamsterSpeech() { document.getElementById("switch").src = "3.gif"; } 

рдЗрд╕рдХреЗ рдмрд╛рдж, jRecorder рдХреЛрдб рдХреЛ рдореЗрд░реЗ рдкреЗрдЬ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдЕрд░реНрдерд╛рддреН, рддрд╛рдХрд┐ рдзреНрд╡рдирд┐ рдкреНрд▓реЗрдмреИрдХ рдХреЗ рджреМрд░рд╛рди Gif рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди Pngред jRecorder рдкреГрд╖реНрда рдореЗрдВ рдлрд╝реНрд▓реИрд╢ рд╡рд┐рдВрдбреЛ рдПрдореНрдмреЗрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЕрджреГрд╢реНрдп рдмрдирд╛рддрд╛ рд╣реИред
рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкреГрд╖реНрда рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕реАрдПрд╕рдПрд╕ рдмреНрд▓реЙрдХ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рд╢рд░реАрд░ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдЖрд░рдВрднреАрдХрд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рдЦреЗрдВ:
 $.jRecorder( { host : '______wav' , callback_started_recording: function(){callback_started(); }, callback_stopped_recording: function(){callback_stopped(); }, callback_activityLevel: function(level){callback_activityLevel(level); }, callback_activityTime: function(time){callback_activityTime(time); }, callback_finished_sending: function(time){ callback_finished_sending() }, swf_path : 'jRecorder.swf', } ); 

рдореИрдВрдиреЗ рд╕рд╛рдЗрдЯ рдХреЛ рдореБрдлреНрдд рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреЗ Google рдбреНрд░рд╛рдЗрд╡ рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред Habr├й рдкрд░ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рддрд╣рдд рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд┐рдЦрд╛ рд╣реИ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ
рдореИрдВ рдмрд╛рд╣рд░ рд╕реЗ Google рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдПрдХ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП, рд╕рд╛рдЗрдЯ рдХреЗрд╡рд▓ рд╕реНрдерд┐рд░ рд╣реЛ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдХрд╛рдо "рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░" рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ jReader рд╕реЗ рд╕рднреА JS рдХреЛрдб рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдФрд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдЗрд╕рдореЗрдВ рд╕реЗ рдХреЙрд▓рдмреИрдХ рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, рдЬрд┐рдирдХреА рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП рдореБрдЦреНрдп рдИрд╡реЗрдВрдЯ рдХреЙрд▓рдмреИрдХ_рд╕реНрдЯрд╛рд░реНрдЯреЗрдб, рдХреЙрд▓рдмреИрдХ_рд╕реНрдЯреЙрдкреНрдб, рдХреЙрд▓рдмреИрдХ_рдлрд┐рдирд┐рд╢рдб_рд╕реЗрдВрдбрд┐рдВрдЧ рдереЗред рдХреЙрд▓рдмреИрдХ рдЦреБрдж рдХреЗ рд▓рд┐рдП рдмреЛрд▓рддреЗ рд╣реИрдВред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рд░рд▓ рд╣реИ:
- рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдХреЙрд▓рдмреИрдХ_рд╕реНрдЯрд╛рд░реНрдЯ рдЖрддрд╛ рд╣реИ, рдФрд░ рд╣рдо рддрд╕реНрд╡реАрд░ рдХреЛ рд╕реНрдЯреЗрдЯрд┐рдХ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ (рд╣рдореНрд╕рдЯрд░ рдЪреБрдк рд╣реИ рдФрд░ рд╕реБрдирддрд╛ рд╣реИ)
- рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдХреЙрд▓рдмреИрдХ_рд╕реНрдЯреЙрдк рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕реЗрдВрдбрдлрд╛рдЗрд▓ рдХрд░рддреЗ рд╣реИрдВ
- OnSendFinished рд╢реЛ gif- рдПрдиреАрдореЗрд╢рди, рдЬреИрд╕реЗ рд╣реА рдзреНрд╡рдирд┐ рдмрдЬрдиреЗ рд▓рдЧрддреА рд╣реИ (рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА jececure рдХреЗ рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реИ

рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ: рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╢реБрд░реВ рдпрд╛ рдмрдВрдж рдХрдм рдХрд░реЗрдВ? рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмрдЯрди рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд╣рдореНрд╕рдЯрд░ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рд╢рдмреНрджреЛрдВ рдХрд╛ рдЙрдЪреНрдЪрд╛рд░рдг рдХрд░рдиреЗ рджреЗрдВ рдЬрдм рдЙрдиреНрд╣реЛрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рдореЗрдВ рдХреБрдЫ рдХрд╣рд╛ рдерд╛, рдФрд░ рдХреЛрдИ рд╕рд╛рдзрд╛рд░рдг рд╢реЛрд░ рдпрд╛ рдЦрд╛рдореЛрд╢реА рдирд╣реАрдВ рдереАред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рд╕реЗ рдзреНрд╡рдирд┐ рд╕реНрддрд░ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, jRecorder рдПрдХ рдХреЙрд▓рдмреИрдХ_рдПрдХреНрдЯрд┐рд╡рд┐рдЯреАLevel рдлреЗрдВрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдзреНрд╡рдирд┐ рдХрд╛ рд╕реНрддрд░ - рд╕реНрддрд░ рд╣реЛрддрд╛ рд╣реИред рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдерд╛ред рдФрд░ рдореИрдВрдиреЗ рдпрд╣ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛:
- рдЪрдпрди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдЗрд╖реНрдЯрддрдо рдзреНрд╡рдирд┐ рд╕реНрддрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╢реЛрд░ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╡реИрд╕реЗ, рдмрд╛рдж рдореЗрдВ, рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ jRecorder рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рддреЗ рд╣реБрдП, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдПрдХ рд╕рдорд╛рди рдореВрд▓реНрдп рдерд╛ рдФрд░ рдпрд╣ рдореЗрд░реЗ рдмрд░рд╛рдмрд░ рдерд╛)ред
- рдлрд┐рд░ рд╕реЗ, рдЪрдпрди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рд╢реЛрд░ рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛ рд▓рдВрдмрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреАред рдпрд╣реА рд╣реИ, рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрд╛рдЙрдВрдЯрд░ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдЬреЛ рд╣рд░ рдмрд╛рд░ рд╢реЛрд░ рдмрдврд╝рдиреЗ рдкрд░ 1 рд╕реЗ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдХрд╛рдЙрдВрдЯрд░ рдереНрд░реЗрд╢реЛрд▓реНрдб рдорд╛рди рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рд╣рдо рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ (рд╢реЛрд░ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдФрд░ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред
- рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдХреЙрд▓рдмреИрдХ_рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рд▓реЗрд╡реЗрд▓ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕реНрддрд░ рд╢реЛрд░ рд╣реИ: рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рд╢реЛрд░ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ 1 рд╕реЗ рдмрдврд╝рд╛рдПрдВ, рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЗрд╕ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ (рд╣рдо рдлрд┐рд░ рд╕реЗ рдЧрд┐рдирддреА рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ)ред
- рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдмреВрд▓рд┐рдпрди рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░реЗрдВ, рдЬреЛ рдкреВрд░реА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рд╢реЛрд░ рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рдиреЗ рдкрд░ рд╕рд╣реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ "рдЦрд╛рд▓реА" рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ - рд╣рдо рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВред

рдирддреАрдЬрддрди, рдпрджрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреБрдЫ рдирд╣реАрдВ рдХрд╣рддрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢реЛрд░ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдХреБрдЫ рднреА рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдмрд╛рддрдЪреАрдд рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рд╢реЛрд░, рдЬреЛ рднреА рд╣реЛрддрд╛ рд╣реИ), рд╣рдо 30 рд╕реЗрдХрдВрдб рдХрд╛ рднрд╛рд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВ,
рдпрд╛ рдпрджрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдмрд╛рдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░рд╛ рд╢реЛрд░ рдереНрд░реЗрд╢реЛрд▓реНрдб рдХрд╛рдЙрдВрдЯрд░ рд╕реНрд╡рдпрдВ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ред рдПрдХ рд╕реНрдЯреЙрдк рдХреЗ рдмрд╛рдж, рдПрдХ рдзреНрд╡рдирд┐ рдмрдЬрд╛рдИ рдЬрд╛рддреА рд╣реИ:
 var SILENCE_LEVEL = 5; var PEAK_LEVEL = 10; var MAX_SILENCE_TICKS = 50; var MICROPHONE_AMPLIFY_LEVEL = 10; var silenceCounter = 0; var wasLevelPeak = 0; var isRecording = 0; function callback_started(){ //     -    . setPictureHamsterStop(); silenceCounter = 0; totalTime = 0; wasLevelPeak = 0; isRecording = 1; } function callback_stopped(){ silenceCounter = 0; isRecording = 0; if (wasLevelPeak) { //   -  ,      . //           . wasLevelPeak = 0; $.jRecorder.sendData(); } else { $.jRecorder.record(30); } } function callback_finished_sending(){ //  GIF ,     . var timer = setTimeout('setPictureHamsterSpeech();', 2000); var timer = setTimeout('$.jRecorder.record(5);', totalTime * 1000); } function callback_activityLevel(level){ //   . if (level > PEAK_LEVEL && isRecording) { wasLevelPeak = 1; // ,  -... silenceCounter = 0; } //  ""    . if(level < SILENCE_LEVEL && isRecording) { silenceCounter = silenceCounter + 1; } //       -    // (   ,    ). if (silenceCounter == MAX_SILENCE_TICKS && isRecording) { silenceCounter = 0; $.jRecorder.stop(); } } 

рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ-рдкреНрд▓реЗрдмреИрдХ рдХреЗ рдЬрд╛рд╡рд╛-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрд╛рдЧ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЕрдм рдЕрдЧрд▓реА рдЪреБрдиреМрддреА рд╕рд╛рдордиреЗ рдЖрдИ - рдзреНрд╡рдирд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ред jRecorder рдПрдХреНрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлреНрд▓реИрд╢ рдХреЗ рд╕рд╛рде рдХрднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рд▓реЗрдХрд┐рди ActionScript рдХреЛрдб рдмрд╣реБрдд рдореВрд▓ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛, рдФрд░ рдореИрдВрдиреЗ рдЬрд▓реНрджреА рд╕реЗ рдзреНрд╡рдирд┐ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ-рдкреНрд▓реЗрдмреИрдХ рддрд░реНрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ред рдореБрдЭреЗ рдзреНрд╡рдирд┐ рд╕рдВрд╢реЛрдзрди рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдПрдХ * .swf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реЗ рдореМрдЬреВрджрд╛ jRecorder.swf рдХреЗ рдмрдЬрд╛рдп рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВред рдореИрдВрдиреЗ рдлреНрд▓реИрд╢ рдХрд╛ рдЯреНрд░рд╛рдпрд▓ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, AudioRecorderCS4.fla рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреЛрд▓рд╛, рдзреНрд╡рдирд┐ рд╕рдВрд╢реЛрдзрди рдХреЛрдб рдХреЛ рдЧреБрдЧрд▓реА рдХрд┐рдпрд╛, рдФрд░ рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдПрдбреЛрдм рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╕рд╣реА рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓реЗред

рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рд╕реЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдХрдЪреНрдЪреЗ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдирдореВрдиреЗ рд╣реЛрддреЗ рд╣реИрдВ - рдирдореВрдиреЗред рдПрдХ рд╕рд╛рдЙрдВрдб рдкреНрд░реЛрд╕реЗрд╕рд░ jRecorder рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЬрдм рдирдореВрдирд╛рдбрд╛рдЯрд╛рд╡реЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рд╛рдорд╛рдиреНрдп "рд╣реАрдк" рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЯ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рддрд╛рдХрд┐
рдкрд░рд┐рдгрд╛рдо рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП рдзреНрд╡рдирд┐ рдХреЗ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕рд░рдгреА рд╣реИ:
 private function onSampleData(event:SampleDataEvent):void { _recordingEvent.time = getTimer() - _difference; dispatchEvent( _recordingEvent ); //       while(event.data.bytesAvailable > 0) _buffer.writeFloat(event.data.readFloat()); } 


рдзреНрд╡рдирд┐ рдХреЛ рдордЬреЗрджрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рдХреБрдЫ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛рдиреА рдкреНрд▓реЗрдмреИрдХ рдХреЗ рджреМрд░рд╛рди, рдзреНрд╡рдирд┐ рдЕрдзрд┐рдХ рддреЗрдЬ рдмрдЬрд╛рдПрдЧреА:
 private function onSampleData(event:SampleDataEvent):void { _recordingEvent.time = getTimer() - _difference; dispatchEvent( _recordingEvent ); /*   */ event.data.position = 0; while(event.data.bytesAvailable > 0) { _buffer.writeFloat(event.data.readFloat()); if (event.data.bytesAvailable > 0) //  , ,     -  { _buffer.writeFloat(event.data.readFloat()); } if (event.data.bytesAvailable > 0) { event.data.position += 2; //  ,  - } } } 


рд╣реЛ рдЧрдпрд╛ред Ctrl + Enter, рд╕рдВрдХрд▓рди, рд╕реНрдкреВрдлрд┐рдВрдЧ jRecorder.swf, рдФрд░ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдереЛрдбрд╝рд╛ рдЯреЗрдврд╝рд╛ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕: рдЙрд╕рдиреЗ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдПрдХ рд░реЙрдХреЗрдЯ рдХреЛ рдЦреАрдВрдЪрд╛, рдЖрдХрд╛рд░ рдореЗрдВ "рдлрд┐рдЯ" рдЬреАрдЖрдИрдПрдл рдЪрд┐рддреНрд░ рддрд╛рдХрд┐ рд░реЙрдХреЗрдЯ рдореЗрдВ рд╣рдореНрд╕рдЯрд░ "рдмреИрдареЗ" рд╣реЛред
( рдСрдирд▓рд╛рдЗрди рдЗрдореЗрдЬ рдПрдбрд┐рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдФрд░ рдЗрдиреНрд╣реЗрдВ рдЧреВрдЧрд▓ рдбреНрд░рд╛рдЗрд╡ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред рд╣рдо рд╕рд╛рдЗрдЯ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдлреНрд▓реИрд╢ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд╛рдВрдЧрддрд╛ рд╣реИ:

рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рдордд рд╣реИ, рддреЛ рд░рд┐рдХреЙрд░реНрдб-рдкреНрд▓реЗ рдЪрдХреНрд░ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдпрд╣ рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рд╣рдж рддрдХ рдордЬрд╝реЗрджрд╛рд░ рд╢рд┐рд▓реНрдк рдФрд░ рдкреНрд▓рд╕ рдЕрдиреБрднрд╡ рдирд┐рдХрд▓рд╛ред рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ: рдЕрдВрддрд░рд┐рдХреНрд╖ рд╣рдореНрд╕рдЯрд░ ред
рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЕрдЧрд░ рдХреЛрдИ рд╕рдореАрдХреНрд╖рд╛ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

Source: https://habr.com/ru/post/In172299/


All Articles