SkypeKit рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдЦрд╛рддреА рд╣реИ

SkypeKit рдПрдХ рдорд╛рд▓рд┐рдХрд╛рдирд╛ Skype SDK рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдЬ рд╡реИрдХрд▓реНрдкрд┐рдХ Skype рдХреНрд▓рд╛рдЗрдВрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИред рдЙрддреНрдкрд╛рдж рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдПрдХ рдкреНрд░реЗрд░рд┐рдд рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд╛рде рдирд┐рд░рд╛рд╢рд╛ рдкреИрджрд╛ рдХрд░ рд╕рдХрддреА рд╣реИрдВред

Skype рдиреЗ SDK рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдм рдкрд░ рд▓рд┐рдЦрд╛ рд╣реБрдЖ рдЦреЛрд▓рд╛ рдЗрд╕рд▓рд┐рдП, рд╡рд┐рд╖рдп рд╕реАрдзреЗ SkypeKit рдФрд░ рдЗрд╕рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрд░реНрде рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдЧрд╛ред

1. рдкрдВрдЬреАрдХрд░рдг

рдореИрдВрдиреЗ рддрдм рднреА рдкрдВрдЬреАрдХрд░рдг рдХрд┐рдпрд╛ рдЬрдм SkypeKit рдмреАрдЯрд╛ рдореЗрдВ рдерд╛, рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдЖрдордВрддреНрд░рдг рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ рдФрд░ рдЬрдм, рдореБрдлреНрдд рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдирд╣реАрдВ рджреАред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдм рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдмрд╕ developer.skype.com рдкрд░ рдЬрд╛рдПрдВ , рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлреЙрд░реНрдо рднрд░реЗрдВ рдФрд░ 10 рдбреЙрд▓рд░ рд╣рд╛рд░реНрдб рдкреЗ (рдЕрдкрдиреЗ рд╕реНрдХрд╛рдЗрдк рдЕрдХрд╛рдЙрдВрдЯ рд╕реЗ рдХрд╛рдЯреЗ рдЧрдП) рдореЗрдВ рджреЗрдВред
рдорд╣рд╛рди рдЯрд┐рдк: рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕рдордЭреМрддреЛрдВ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рдкрдврд╝реЗрдВ, рд╡реЗ рдХрд╛рдлреА рдЧрдВрднреАрд░ рд╣реИрдВред рдмрд╛рдж рдореЗрдВ рд▓рд╛рдЗрд╕реЗрдВрд╕реЛрдВ рдкрд░ рдЕрд▓рдЧ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: "рд╕реНрдХрд╛рдЗрдкреЗ рдиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдорд┐рд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдорд╕реНрддрд┐рд╖реНрдХ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЗ рд╕рд╛рде рднрд╛рдЧ рдирд╣реАрдВ рд▓реЗ рд╕рдХрд╛ред" рд░рд┐рд╢реНрддреЗрджрд╛рд░ рдХрд╛рдиреВрдиреА рд╕реБрд░рдХреНрд╖рд╛ рдореЗрдВ, рдХреЗрд╡рд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд▓реЛрд╣реЗ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИред
рдлрд┐рд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рд╕рдВрдЧрдарди рдореЗрдВ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╡реИрд╕реЗ рднреА рд╡реЗ 10 рд░реБрдкрдпреЗ рдорд╛рдВрдЧреЗрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдк рдЙрдиреНрд╣реЗрдВ рднреБрдЧрддрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╕ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЬрдВрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рд╕рдм рдХреБрдЫ рджреЗрдВ, рд╡реЗ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ( рдЬрд╛рдирдХрд╛рд░реА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ , рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ )ред рд╕рдВрдЧрдарди рдореЗрдВ 100 рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

2. рдПрд╕рдбреАрдХреЗ рдФрд░ рд░рдирдЯрд╛рдЗрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рджрд┐рд▓рдЪрд╕реНрдк рдЗрд╕ рдХреНрд╖рдг рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред Developer.skype.com/skypekit/sdks рдкрд░ рдЬрд╛рдХрд░ рдЖрдкрдХреЛ "SkypeKit Multi-OS SDK" рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдорд┐рд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдирдиреНрджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╣реБрдд рдХрдо рдХрд╛рд░рдг рд╣реИрдВред рдЗрд╕ рдкреИрдХреЗрдЬ рдореЗрдВ, рд╕реА ++, рдЬрд╛рд╡рд╛ рдФрд░ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдЗрди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕реНрдХрд╛рдЗрдк рдХрд╣рд╛рдВ рд╣реИ? рд▓реЗрдХрд┐рди рдЕрдВрдЬреАрд░ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд░рдирдЯрд╛рдЗрдо рджреЗрдЧрд╛, 10 рд░реБрдкрдпреЗ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░реЗрдВ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА, рдкреЗрдЬ рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ "рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдП рд░рдирдЯрд╛рдЗрдо" рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдЙрдкрд▓рдмреНрдз рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛рдлреА рд╡реНрдпрд╛рдкрдХ рд╣реИ: рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕, рдореИрдХ рдЗрди рдХреЛрдб x86, ARM (v5, v6, v7) рдФрд░ MIPS (рджреЛрдиреЛрдВ рдЫреЛрдЯреЗ рдФрд░ рдмрдбрд╝реЗ-рдПрдВрдбрд┐рдпрди)ред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрдЧрд╛: рд╡реАрдбрд┐рдпреЛ рдХреЙрд▓ рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ (рдФрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реАрдкреАрдпреВ рдкрд░)ред Aww, Microsoft, рдЖрдк рдХрд╣рд╛рдБ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ?
рдЪреЗрддрд╛рд╡рдиреА! рдкреНрд░рддреНрдпреЗрдХ рд░рдирдЯрд╛рдЗрдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рд╡рд╛рдпрд░реНрдб рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреБрджрд╛ рджрд╛рд╕рддрд╛ рд▓реЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдореА рд░рдирдЯрд╛рдЗрдо рдХреА рдкрд╣рдЪрд╛рди рдЖрдкрдХреЗ рдкрдВрдЬреАрдХреГрдд рд╕рдВрдЧрдарди рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рддреА рд╣реИред рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдХреЗрд╡рд▓ рдЙрди рдЦрд╛рддреЛрдВ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд╕рдВрдЧрдарди рдореЗрдВ рд╣реИрдВред

3. рдПрдХ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдбреЗрд╡рд▓рдкрд░ .skype.com/applications рдкрд░ рдЖрд╡реЗрджрди рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдордЬреЗрджрд╛рд░ рдХреНрд╖рдг рд╣реИрдВ:
4. рдкреНрд░рд╛рдкреНрдд рдорд╛рд▓ рдХреЛ рдЕрдирдкреИрдХ рдХрд░реЗрдВ
рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрд╕рдбреАрдХреЗ, рд░рдирдЯрд╛рдЗрдо рдФрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреАрдкрд░ рд╣реИред рд╣рдо рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрдерд╛рди рдкрд░ рдПрд╕рдбреАрдХреЗ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ, рд░рдирдЯрд╛рдЗрдо рдХреЛ% рдПрд╕рдбреАрдХреЗ% / рдмрд┐рди рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд╛рди рдкрд░ рд░рдЦрддреЗ рд╣реИрдВ, рд╣рдо рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдЧрд╣ рднреА рд╕реЛрдЪрддреЗ рд╣реИрдВред
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреБрдВрдЬреА рдХрд╣рд╛рдБ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, keypair.h, token.py рдФрд░ AppKeyPairMgr.java рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдкрде рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░реЗрдВред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЛ рдЕрдкрдиреА рдЖрддреНрдорд╛ рдХреЗ рд╕рд╛рде рдХреЛрдб рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рджреЗрддрд╛ - рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдкрд╢реБ рдХреЛрдб рд╣реИ! ( рдореИрдВ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдмрд╛рдж рдореЗрдВ рджреВрдВрдЧрд╛ )
рдпрджрд┐ рдЖрдкрдиреЗ VoicePCM / VoiceRTP рдпрд╛ VideoRTP рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд░рдирдЯрд╛рдЗрдо рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЕрднреА рднреА RTP / PCM (рд╡реЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ) рдХреЗ рд▓рд┐рдП рд╕реНрдЯрдмреНрд╕ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдПрд╕рдПрдПрд▓ рдореЛрдб (рд╕реНрдХрд╛рдЗрдк рдСрдбрд┐рдпреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА) рдореЗрдВ рдЖрд╡рд╛рдЬ рдХреЗ рд▓рд┐рдП рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдмрд┐рдирд╛, рдЖрдкрдХреЛ рдХреБрдЫ рднреА рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред Startskypekit.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд░рдирдЯрд╛рдЗрдо рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░рдирдЯрд╛рдЗрдо рд▓реЙрдиреНрдЪ рдЯреВрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрд╡рд╛рдЬ рдФрд░ рд╡реАрдбрд┐рдпреЛ рд╣реИрдВрдбрд▓рд░ (рдЙрдирдХреЗ рдмрд┐рдирд╛, рд░рдирдЯрд╛рдЗрдо рдмреЗрд╡рдХреВрдлреА рд╕реЗ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ)ред
рдЕрдм рдЖрдк рдЙрджрд╛рд╣рд░рдг рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдкрд╛рдпрдерди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд╕ рд░рдирдЯрд╛рдЗрдо рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВ)ред VisualStudio рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдПрдХрддреНрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЖрдк рдордЬрд╝реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

5. рдПрд╕рдбреАрдХреЗ рдлреАрдЪрд░реНрд╕

рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:
рдЖрдк рд╕реНрд╡рдпрдВ рдПрд╕рдбреАрдХреЗ рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдЗрд╕реЗ рдореБрдЭрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: goo.gl/3egQi (рдЪреВрдВрдХрд┐ рдХреЛрдИ рд░рдирдЯрд╛рдЗрдо рдирд╣реАрдВ рд╣реИ рдпрд╛ рд╡рд╣рд╛рдВ рдХреБрдЫ рднреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╣реИ)ред

6. рдХреНрд╡рд┐рдХрдХреЛрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг

if(input_started) { unsigned int samples_returned = output_buf.size() /( 2 * numOfOutputChannels ); if(input_buf[(input_p % INPUT_BUF_ARRAY_SIZE)].size() != samples_returned * 2) input_buf[(input_p % INPUT_BUF_ARRAY_SIZE)].resize(samples_returned * 2); if(input_muted) { memset((char*)input_buf[(input_p % INPUT_BUF_ARRAY_SIZE)].data(), 0, input_buf[(input_p % INPUT_BUF_ARRAY_SIZE)].size()); } else if(numOfOutputChannels > 1) { short* ob = (short*) output_buf.data(); short* ib = (short*) input_buf[(input_p % INPUT_BUF_ARRAY_SIZE)].data(); for(unsigned int i = 0 ; i < samples_returned; i ++) { ib[i] = ob[i * numOfOutputChannels]; } } else { input_buf[(input_p % INPUT_BUF_ARRAY_SIZE)] = output_buf; } int input_samples_returned = input_buf[(input_p + 1) % INPUT_BUF_ARRAY_SIZE].size() / 2; m_transport->InputDeviceReady(input_samples_returned,input_sampleRate,1, input_buf[(input_p + 1) % INPUT_BUF_ARRAY_SIZE]); } } 

рд╣рд╛рдВ, рдпрд╣рд╛рдВ рдХрдИ рд▓рдВрдмреА рд▓рд╛рдЗрдиреЗрдВ рд▓рдЧрд╛рдИ рдЧрдИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдб рдЬреНрдпрд╛рджрд╛ рдЦрд░рд╛рдм рдирд╣реАрдВ рд╣реБрдЖред рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдореЗрдВ рдЯреИрдм рдФрд░ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдлрд╛рдбрд╝рдирд╛ рд╣реИред
рдФрд░ рдпрд╣ рдЖрдорддреМрд░ рдкрд░ "рднрд╛рд░рдд рд╕реЗ рдкреНрдпрд╛рд░" рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ
 switch (propid) { case 4: return &skylibFields[689]; case 5: return &skylibFields[690]; case 7: return &skylibFields[691]; case 8: return &skylibFields[692]; case 9: return &skylibFields[693]; case 10: return &skylibFields[694]; case 11: return &skylibFields[695]; case 12: return &skylibFields[696]; case 13: return &skylibFields[697]; case 14: return &skylibFields[698]; case 15: return &skylibFields[699]; case 16: return &skylibFields[700]; case 17: return &skylibFields[701]; case 18: return &skylibFields[702]; case 19: return &skylibFields[703]; case 26: return &skylibFields[704]; case 27: return &skylibFields[705]; case 28: return &skylibFields[706]; case 34: return &skylibFields[707]; case 37: return &skylibFields[708]; case 70: return &skylibFields[709]; case 71: return &skylibFields[710]; case 72: return &skylibFields[711]; case 73: return &skylibFields[712]; case 74: return &skylibFields[713]; case 75: return &skylibFields[714]; case 76: return &skylibFields[715]; case 77: return &skylibFields[716]; case 78: return &skylibFields[717]; case 79: return &skylibFields[718]; case 160: return &skylibFields[719]; case 161: return &skylibFields[720]; case 162: return &skylibFields[721]; case 163: return &skylibFields[722]; case 164: return &skylibFields[723]; case 165: return &skylibFields[724]; case 166: return &skylibFields[725]; case 168: return &skylibFields[726]; case 169: return &skylibFields[727]; case 182: return &skylibFields[728]; case 183: return &skylibFields[729]; case 205: return &skylibFields[730]; case 773: return &skylibFields[731]; case 800: return &skylibFields[732]; case 801: return &skylibFields[733]; case 802: return &skylibFields[734]; case 804: return &skylibFields[735]; default: break; } 

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

7. рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕рдордЭреМрддреЗ

рдпрд╣ рдЗрд╕ рдкрд╛рда рдХреЗ рд╕рд╛рде рд╣реИ рдХрд┐ рд░рдирдЯрд╛рдЗрдо рдЖрдкрдХреЛ рдмрдзрд╛рдИ рджреЗрддрд╛ рд╣реИ:
SkypeRuntime Copyright (C) 2003-2011 Skype Technologies SA
SkypeRuntime Version: 3.4.1/windows-x86-skypekit-novideo_3.4.1.339_%_%
Proprietary and confidential, do not share this application.

рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ: рдПрдХ рдмрд╛рд░ рд╕рдордЭреМрддрд╛ рдХрд░реЗрдВ рдФрд░ рджреЛ рд╕рдордЭреМрддрд╛ рдХрд░реЗрдВ
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмреЛрд▓реА рд╕реЗ рдкреНрд░рд╕рдиреНрди:
4.3ред рдкреВрд░реНрд╡рдЧрд╛рдореА рдХреА рд╡реНрдпрд╛рдкрдХрддрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд┐рдП рдмрд┐рдирд╛, рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд╖рд┐рджреНрдз рд╣реИрдВ:
4.3.1ред SkypeKit рдЙрддреНрдкрд╛рдж рдХреЛ рдПрдВрдб рдпреВрдЬрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреМрддрд┐рдХ рдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдкрд░ SkypeKit рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдпрд╛рдВ рдЪрд▓рд╛рдирд╛;
4.3.2ред рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ, рдмрд┐рдХреНрд░реА , рд╡рд┐рдкрдгрди рд╡рд┐рддрд░рдг рдпрд╛ рдЕрдиреНрдпрдерд╛ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдирд╛:
4.3.2.1ред рдХрд┐рд╕реА рднреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЙрддреНрдкрд╛рдж рд╕реАрдзреЗ (рдпрд╛ рдкрд░реЛрдХреНрд╖ рд░реВрдк рд╕реЗ рдореВрд▓реНрдп рд╡рд░реНрдзрд┐рдд рдкреБрдирд░реНрд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдпрд╛ рдЕрдиреНрдп рдЪреИрдирд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдЫреЛрдЯреЗ, рдордзреНрдпрдо рдпрд╛ рдмрдбрд╝реЗ рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рдпрд╛ рдЙрджреНрдпрдореЛрдВ рдХреЗ рд▓рд┐рдП;
4.3.2.2ред рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕рдордЭреМрддреЗ рдХреА рдзрд╛рд░рд╛ 4 рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рднреА рдирд┐рд╖рд┐рджреНрдз рд╡рд┐рдХрд╛рд╕ред
рдпрд╣реА рд╣реИ, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЛ рдХрд╛рдиреВрдиреА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдирд╣реАрдВ рдмреЗрдЪ рд╕рдХрддреЗ, рднрд▓реЗ рд╣реА рд╡рд╣ рд░рд┐рдЯреЗрд▓ рдЪреЗрди рд╣реЛред рд╡реИрд╕реЗ рд╕рдЬреНрдЬрдиреЛрдВ, рдореБрдЭреЗ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рдЕрд╕рдВрднрд╡ рд╕реНрдерд┐рддрд┐ рд╣реИред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рддрдм рд╕реИрдорд╕рдВрдЧ рдиреЗ рдЕрдкрдиреЗ рдЯреАрд╡реА рдореЗрдВ рд╕реНрдХрд╛рдЗрдк рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛?

8. рдЕрдВрдд рдореЗрдВ

рдореИрдВ рдЖрдкрдХреЛ рдЕрдЬрдЧрд░ рдХреЛрдб рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реВрдВ:
 import sys, time, SkyLib accountName = sys.argv[1] accountPsw = sys.argv[2] keyFileName = sys.argv[3] def AccountOnChange (self, property_name): if property_name == 'status': if self.status == 'LOGGED_IN': print 'Login complete.' SkyLib.Account.OnPropertyChange = AccountOnChange def OnMessage(self, message, changesInboxTimestamp, supersedesHistoryMessage, conversation): if message.author != accountName: print(message.author_displayname + ': ' + message.body_xml) conversation.PostText('Automated reply.', False) SkyLib.SkyLib.OnMessage = OnMessage skype = SkyLib.GetSkyLib(keyFileName) account = skype.GetAccount(accountName) print 'Logging in with ' + accountName account.LoginWithPassword(accountPsw, False, False) while account.status != 'LOGGED_IN': time.sleep(1) print 'Now accepting incoming chat messages.' print 'Press ENTER to quit.' raw_input('') skype.stop() 

рдЕрдкрдиреА рд╕рд╛рджрдЧреА рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реНрдХрд╛рдЗрдк рдкрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдмрд╣реБрдд рд╕реА ++ рдХреА рд╕реНрдореИрдХ рд╣реИ, рдЬрд╣рд╛рдВ рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЬрдЧрд░ рдореЗрдВ рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрд╢рд┐рд╖реНрдЯ рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рд╡рд░реНрдЧ - рдПрдХ рдШрдЯрдирд╛ рд╣реИрдВрдбрд▓рд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╕реНрдХрд╛рдЗрдкрдХрд┐рдЯ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рдЙрддреНрдкрд╛рдж рдирд┐рдХрд▓рд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рдиреАрддрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдПрд╕рдбреАрдХреЗ рд╕реЗ рдмрд╛рдпреЛрдбреЗрдХ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛрдЧрд╛ред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд╝рд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╕реНрдХрд╛рдЗрдк рд▓рд┐рдЦрддреЗ рд╕рдордп рдХреМрди рд╕рд╛ рдХреЛрдб рдерд╛ (рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рд╣реИ рдФрд░ рд╡рд╣ рд╕рдм рд╣реИ), рд▓реЗрдХрд┐рди рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореБрдЭреЗ рдПрд╕рдбреАрдХреЗ рдореЗрдВ рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рд╕реЗ рдШреГрдгрд╛ рдереАред рдЦреИрд░, рд╡реЗ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрдХрдПрдВрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭрджрд╛рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдХреА рдЗрддрдиреА рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдирд╣реАрдВ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдкреАрдЖрдИ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ рдФрд░ рдХреБрдЫ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХреЗ рдмрд╛рдж, рдПрдХ рд╕рдордЭ рдЖрддреА рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрддреНрдкрд╛рдж рдХрдЪреНрдЪрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЗрд╕рдХрд╛ рдкрд╣рд▓рд╛ рд╕рд╛рд▓ рдирд╣реАрдВ рд╣реИред
рдореЗрд░реА рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ Skype <-> XMPP рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рд▓рд┐рдЦрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд▓рд┐рдмрдЬрдирд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд╕реНрд╡рд╛рдж рд▓реВрдВрдЧрд╛ред рддрд╛рдХрд┐ рдЖрдк рдХреЙрд▓ рдХрд░ рд╕рдХреЗрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдЗрд╕реЗ рдРрд╕реА рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рд╕реМрднрд╛рдЧреНрдп рд╣реИ рдЕрдкрдиреЗ рд╕реНрдХрд╛рдЗрдк рдХреЛ рдмреНрд▓реИрдХрдЬреИрдХ рдФрд░ рдЬреЛ рднреА рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд╕рд╛рде рдмрдирд╛рдПрдВред
рдЖрдк рддрдп рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо 10 рдбреЙрд▓рд░ рдмреНрдпрд╛рдЬ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рджреЗрдиреЗ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рднрд╡реНрдп рдпреЛрдЬрдирд╛рдПрдВ рдмрдирд╛рдирд╛ рднреА рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

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


All Articles