рд▓реЗрдЦ рдореЗрдВ рдЖрдИрдУрдПрд╕ рдореЗрдВ рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдПрдкреАрдЖрдИ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА, рдЬреЛ Viber рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рд╕рд╛рдордирд╛ рдХрд┐рдП рдЧрдП рдереЗред рдпрд╣ рд╕реИрдВрдкрд▓рд┐рдВрдЧ рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдмрджрд▓рддреЗ рд╕рдордп рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдлрд░ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ AudioUnit рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдЧрд╛ред
рдЖрдИрдУрдПрд╕ рдореЗрдВ рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛рдо рдХреЗ рд▓рд┐рдП, Apple 4 рдПрдкреАрдЖрдИ рдХреЗ рд╕рдореВрд╣ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд░реНрдЧ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
- AVFoundation рдЖрдкрдХреЛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХреБрдЫ рдСрдбрд┐рдпреЛ рдХреЛрдбреЗрдХреНрд╕ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдпрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдмрдлрд╝рд░реНрд╕ рдХреЛ рд╕реНрдореГрддрд┐ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреНрд▓реЗрдмреИрдХ рдФрд░ рдкреНрд▓реЗрдмреИрдХ рдХреА рдХрдо рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдЦреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред
- рдУрдкрди рдПрдкреАрдЖрдИ рддреАрди рдЖрдпрд╛рдореА рдзреНрд╡рдирд┐ рдФрд░ рдзреНрд╡рдирд┐ рдкреНрд░рднрд╛рд╡ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИред рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЦреЗрд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдо рдкреНрд▓реЗрдмреИрдХ рджреЗрд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдзреНрд╡рдирд┐ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
- AudioQueue рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдФрд░ рдордВрдЪ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХреЛрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдПрдкреАрдЖрдИ рд╣реИред рдЗрд╕ API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдкрдХреЛ рдиреНрдпреВрдирддрдо рд╡рд┐рд▓рдВрдм рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рдж рд╕рд░рд▓ рд╣реИред
- рдФрд░ рдЕрдВрдд рдореЗрдВ, AudioUnit , рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рд╕рдореГрджреНрдз рдПрдкреАрдЖрдИред рдЖрдИрдУрдПрд╕ рдкрд░ рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд▓рдн рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рдХрд░реАрдм рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдФрд░ рдзреНрд╡рдирд┐ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИред
AudioUnit
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рд╕рд╣рд┐рдд рдСрдбрд┐рдпреЛрдпреВрдиреЗрдЯ рдХреЗ рдЖрд░рдВрдн рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рдлреА рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдЗрдП рдЗрд╕рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдЙрдкрдпреЛрдЧ рдХреА рдмрд┐рд▓реНрдХреБрд▓ рддреБрдЪреНрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рди рдХрд░реЗрдВред рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП, RemoteIO рдФрд░ VoiceProcessingIO рдореЙрдбреНрдпреВрд▓ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред VoiceProcessingIO рдЖрд╡рд╛рдЬ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рд┐рдЧреНрдирд▓ рд╕реНрддрд░ рд╕реБрдзрд╛рд░ (AGC) рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП OS рд╕реНрддрд░ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдзреНрд╡рдирд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ RemoteIO рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЗрди рджреЛрдиреЛрдВ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ "рдЗрдирдкреБрдЯ" рдФрд░ рдПрдХ "рдЖрдЙрдЯрдкреБрдЯ" рд╣реИ, рдЬрд┐рд╕рдореЗрдВ 2 рдмрд╕реЗрдВ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВред

рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЗрди рдмрд╕реЛрдВ рдкрд░ рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдкреНрд░рд╛рд░реВрдк рдХреЛ рд╕реЗрдЯ рдФрд░ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИред AudioUnit рдЗрдирдкреБрдЯ рдкрд░ рдмрд╕ 1 рд╕реНрдЯреНрд░реАрдо рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рдкреВрдЫрдХрд░, рдЖрдк рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реНрддрд░ рдкрд░ рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╕реНрдЯреНрд░реАрдо рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдмрд╕ 1 рдкреНрд░рд╛рд░реВрдк рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХрд┐рд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддрджрдиреБрд╕рд╛рд░, рдСрдбрд┐рдпреЛрдпреВрдиреЗрдЯ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдмрд╕ 0 рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХреЛ рд╕реЗрдЯ рдХрд░рдХреЗ, рд╣рдо рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдмрд╕ 0 рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдХрд░рдг рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рд╛рде 2 рдХреЙрд▓рдмреИрдХ рдореЗрдВ рдСрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдмрдлрд╝рд░реНрд╕ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
OSStatus AURenderCallback(void * inRefCon, AudioUnitRenderActionFlags * ioActionFlags, const AudioTimeStamp * inTimeStamp, Int32 inBusNumber, UInt32 inNumberFrames, AudioBufferList * ioData);
InputCallback рддрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдореЙрдбреНрдпреВрд▓ рд╣рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдмрдлрд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕ рдХреЙрд▓рдмреИрдХ рдореЗрдВ AudioUnitRender рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред RenderCallback рддрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдореЙрдбреНрдпреВрд▓ рдкреНрд▓реЗрдмреИрдХ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХреЛ ioData рдмрдлрд░ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИред рдЗрди рдХреЙрд▓рдмреИрдХ рдХреЛ рдЖрдВрддрд░рд┐рдХ AudioUnit рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдЙрдирдХрд╛ рдХрд╛рдо рдХреЗрд╡рд▓ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдмрдлрд╝рд░реНрд╕ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рддрдХ рд╕реАрдорд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕реНрдЯреНрд░реАрдо рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдСрдбрд┐рдпреЛ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд╕рдВрдЧрдарди рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред рдмрдлрд╝рд░реНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлреЙрд░реНрдо рдореЗрдВ рдЗрди рдХреЙрд▓рдмреИрдХ рдкрд░ рдПрдХ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ:
struct AudioTimeStamp { Float64 mSampleTime;
рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдФрд░ рдкреНрд▓реЗрдмреИрдХ рдХреЗ рджреМрд░рд╛рди рд▓рд╛рдкрддрд╛ рдирдореВрдиреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ (рдФрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП) рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдирдореВрдиреЛрдВ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░рдг:
- рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдФрд░ рдкреНрд▓реЗрдмреИрдХ рдбрд┐рд╡рд╛рдЗрд╕ (рд╕реНрдкреАрдХрд░ / рд╣реЗрдбрдлреЛрди / рдмреНрд▓реВрдЯреВрде)ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдирдореВрдиреЛрдВ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рдиреБрдХрд╕рд╛рди рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рд╕рдордп рд╕реНрдЯреИрдореНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдзреНрд╡рдирд┐ рдХреА рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдпрд╛ рдЖрд░рдЯреАрдкреА рдкреИрдХреЗрдЯ рдХреЗ "рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк" рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдкреБрдирд░реНрдЧрдгрдирд╛ред
- рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реАрдкреАрдпреВ рд▓реЛрдб, рдЬрд┐рд╕рдореЗрдВ рдСрдбрд┐рдпреЛрдпреВрдиреЗрдЯ рдереНрд░реЗрдб рдХреЗ рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдХреЗ рдпрд╛ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдХреЗ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдСрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рдмрдлрд╝рд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕реНрдЯреНрд░реАрдо рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд▓реЙрдХ-рдлреНрд░реА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ, рдкрд░рд┐рдкрддреНрд░ рдмрдлрд╝рд░реНрд╕, рдЬреАрд╕реАрдбреА рдорджрдж рдХрд░реЗрдВрдЧреЗ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдХрд░реАрдм рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреАрд╕реАрдбреА рд╣рдореЗрд╢рд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИрдВ)ред рдереНрд░реЗрдб рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдЯреНрд░реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдлрд░ рдЖрдХрд╛рд░
рдЖрджрд░реНрд╢ рдорд╛рдорд▓реЗ рдореЗрдВ, рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдзреНрд╡рдирд┐ рдореЗрдВ рдиреНрдпреВрдирддрдо рд╡рд┐рд▓рдВрдм рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рдордзреНрдпрд╡рд░реНрддреА рдмрдлрд░рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдПрдХрд▓ рдирдореВрдиреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдЕрдиреБрдХреНрд░рдорд┐рдХ рдирдореВрдиреЛрдВ рдХреЗ рд╕рдореВрд╣реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИрдВред рдЙрд╕реА рд╕рдордп, iOS рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдлрд╝рд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдСрдбрд┐рдпреЛ рд╕рддреНрд░ PreferredHardwareIOBufferDuration рдХреА рд╕рдВрдкрддреНрддрд┐ рдЖрдкрдХреЛ рд╕реЗрдХрдВрдб рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдмрдлрд░ рдЕрд╡рдзрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдФрд░ CurrentHardwareIOBufferDuration - рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╕рдВрднрд╛рд╡рд┐рдд рдЕрд╡рдзрд┐ рд╡рд░реНрддрдорд╛рди рдирдореВрдирд╛ рджрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдкреАрдХрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЗрд▓рддреЗ рд╕рдордп рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд░рдиреЗ рдкрд░, рдЙрдкрдХрд░рдг 44100Hz рдХреА рдирдореВрдирд╛ рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдСрдбрд┐рдпреЛ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдиреНрдпреВрдирддрдо рдмрдлрд░ 256 рдмрд╛рдЗрдЯреНрд╕ рд╣реИ, рдЖрдХрд╛рд░ рдЖрдорддреМрд░ рдкрд░ рджреЛ рдХреА рд╢рдХреНрддрд┐ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИ (рдорд╛рди рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ)ред рдЗрд╕рд▓рд┐рдП, рдПрдХ рдмрдлрд░ рдХреА рдЕрд╡рдзрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ:
256/44100 = 5.805 рдореА
512/44100 = 11.61ms
1024/44100 = 23.22 рдореА
рдпрджрд┐ рдЖрдк 16000Hz рдХреЗ рдирдореВрдиреЗ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдмреНрд▓реВрдЯреВрде рд╣реЗрдбрд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд┐рдореНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
256/16000 = 16 рдореА
512/16000 = 32 рдореА
1024/16000 = 64 рдореА
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдлрд╝рд░ рдХреА рдЕрд╡рдзрд┐ рди рдХреЗрд╡рд▓ рд╡рд┐рд▓рдВрдм рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрди рдирдореВрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рднреА рд╣реЛрддреА рд╣реИ рдЬреЛ рдСрдбрд┐рдпреЛрдпреВрдиреЗрдЯ рд╣рд░ рдмрд╛рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдХреЙрд▓рдмреИрдХ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдирдореВрдирд╛ рдЖрд╡реГрддреНрддрд┐ AudioUnit рдХреЗ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рддреЛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЗрдВ рдЕрд╡рдзрд┐ рдХреЗ рдмрд░рд╛рдмрд░ рдПрдХ рдмрдлрд░ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХреЙрд▓рдмреИрдХ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдХреЙрд▓рдмреИрдХ рдХреЛ рдирд┐рдпрдорд┐рдд рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддрджрдиреБрд╕рд╛рд░, рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдкреНрд░рддреНрдпреЗрдХ 10ms рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрд╡реЗрджрди рдкрдХреНрд╖ рдкрд░ рдордзреНрдпрд╡рд░реНрддреА рдмрдлрд░рд┐рдВрдЧ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдСрдбрд┐рдпреЛрдпреВрдиреЗрдЯ рдХреЛ рдордирдорд╛рдирд╛ рдЕрд╡рдзрд┐ рдХреЗ рдмрдлрд╝рд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдПред рдШрдЯрдиреЗ рдореЗрдВ рд╡рд┐рд▓рдВрдмрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЙрд▓рдмреИрдХ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдлреНрд▓реЛ рдХреЗ рдУрд╡рд░рд╣реЗрдб рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рд╕реАрдкреАрдпреВ рд▓реЛрдб рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдкрд░ рдирдореВрдиреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред
рдирдореВрдирд╛рдХрд░рдг рджрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдкрд░ рдмрдлрд░рд┐рдВрдЧ
рд╡реАрдУрдЖрдИрдкреА рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдпрд╣ рд╣рдореЗрд╢рд╛ 16000Hz рд╕реЗ рдКрдкрд░ рдХреЗ рдирдореВрдиреЗ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдзреНрд╡рдирд┐ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдирдореВрдирд╛рдХрд░рдг рджрд░ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдзреНрд╡рдирд┐ рд╕реНрд░реЛрдд рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп рдХрд┐рд╕реА рднреА рд╕рдордп рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред AudioUnit рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдХреЗ, рдЖрдк AudioUnit рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╕рдордп рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдирдореВрдирд╛ рджрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдзреНрд╡рдирд┐ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛:
SampleRateHW = 44100
рд░реЗрдЬрд╝рдореИрдкрд▓рд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рдЖрдЙрдЯрдкреБрдЯ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдирдореВрдиреЗ рд╣реЛрдВрдЧреЗ, рдФрд░ рдЖрдВрд╢рд┐рдХ рд╢реЗрд╖ рдХреЛ рд░реЗрдЬрд╝рдореИрдкрд▓рд┐рдВрдЧ рдлрд╝рд┐рд▓реНрдЯрд░ рдЧреБрдгрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред AudioUnit рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ iOS5 рдФрд░ iOS6 рдореЗрдВ рдХрд╛рдлреА рднрд┐рдиреНрди рд╣реИред
iOS5
IOS5 рдореЗрдВ, AudioUnit рдореЙрдбреНрдпреВрд▓ рдЖрдХрд╛рд░ рдореЗрдВ рдмрдлрд╝рд░реНрд╕ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рджреЛ рдХреА рд╢рдХреНрддрд┐ рдХреЗ рдЧреБрдгрдХ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реА рдХреЙрд▓ рдХреЗ рджреМрд░рд╛рди рдЖрд╡реЗрджрди рдХреЛ 256 рдирдореВрдиреЗ (16ms @ 16kHz) рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗред рд╢реЗрд╖ 371-256 = 115 AudioUnit рдХреЗ рдЕрдВрджрд░ рд░рд╣реЗрдЧрд╛ред

рджреВрд╕рд░реЗ рдХреЙрд▓рдмреИрдХ рдХреЙрд▓ рдкрд░, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ 256 рдирдореВрдиреЛрдВ рдХрд╛ рдПрдХ рдмрдлрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛: рдЗрд╕рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдкрд┐рдЫрд▓реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдлрд░ рд╕реЗ рд╣реЛрдЧрд╛, рдФрд░ рдирдП рд╕реЗ рднрд╛рдЧред

рддреАрд╕рд░реА рдХреЙрд▓ рдкрд░, рд░реЗрдЬрд╝рдореИрдкрд▓рд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдЬрдорд╛ рд╣реБрдЖ рдмреИрд▓реЗрдВрд╕ рдЖрдкрдХреЛ 512 рдирдореВрдиреЛрдВ рдХреЛ рддреБрд░рдВрдд рдЖрд╡реЗрджрди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдлрд┐рд░, рдлрд┐рд░ рд╕реЗ, рдЖрд╡реЗрджрди 256 рдирдореВрдиреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬрдм рд░реЗрдЬрд╝рдореИрдкрд▓рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдирд┐рдпрдорд┐рдд рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдХреЙрд▓рдмреИрдХ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рд▓реЗрдХрд┐рди рджреЛ рдХреА рд╢рдХреНрддрд┐ рдХреЗ рдмрд░рд╛рдмрд░)ред
iOS6
IOS6 рдореЗрдВ, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдФрд░ AudioUnit рдХреЗ рдмреАрдЪ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдмрдлрд░ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕ рдкреНрд░рдХрд╛рд░ resampling рдХреЗ рджреМрд░рд╛рди рдордзреНрдпрд╡рд░реНрддреА рдмрдлрд░рд┐рдВрдЧ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рджреЗрд░реА рдХреЛ рдХрдо рдХрд┐рдпрд╛ред рдЖрд╡реЗрджрди рдХреЛ 371 рдФрд░ 372 рдирдореВрдиреЛрдВ рдХреЗ рдмрдлрд╝рд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗред
CoreAudio API рдХреЛ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдХрдард┐рди рд╣реИред рдХрд╛рд░реНрдп рдХреА рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдУрдПрд╕ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬреЛ рд▓реЛрдЧ Apple рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдСрдбрд┐рдпреЛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд╡рд┐рд╖рдп рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП
"iZotope iOS рдСрдбрд┐рдпреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЧрд╛рдЗрдб" рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред