рдкрд░рд┐рдЪрдп
рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рд╕реЗ рдХрдЪреНрдЪрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд░реНрдЧ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ
android.media.AudioRecord
android.media.AudioRecord
ред рдпрд╣ рдЖрдВрддрд░рд┐рдХ рдмрдлрд░ рдХреЛ рдбреЗрдЯрд╛ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрдВ рд╕рдордп-рд╕рдордп рдкрд░ рдЗрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдбрд┐рдЬрд╛рдЗрдирд░
рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
audioSource | рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд╣рд╛рдБ рд╕реЗ рд╣реИ? рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ MediaRecorder.AudioSource.MIC |
---|
sampleRateInHz | рд╣рд░реНрдЯреНрдЬ рдирдореВрдирд╛ рджрд░ред рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рджрд╛рд╡рд╛ рд╣реИ рдХрд┐ 44100Hz рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ |
---|
channelConfig | рдЪреИрдирд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ CHANNEL_IN_MONO CHANNEL_IN_MONO рдпрд╛ CHANNEL_IN_STEREO CHANNEL_IN_STEREO рдореЛрдиреЛ рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдорд╣рддреНрд╡рдкреВрд░реНрдг: рдпреЗ рд╕реНрдерд┐рд░рд╛рдВрдХ рдЙрди рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рдЬрд┐рдиреНрд╣реЗрдВ рд╡реЗ рдирд┐рд░реВрдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ 1 рдпрд╛ 2 рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
|
---|
audioFormat | рдПрдХ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк, рдЬрд┐рд╕реЗ рдПрдХ рдХреЛрдбреЗрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ENCODING_PCM_16BIT ENCODING_PCM_16BIT рдпрд╛ ENCODING_PCM_8BIT
|
---|
bufferSizeInBytes | рдЙрд╕реА рдЖрдВрддрд░рд┐рдХ рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ред рдЗрд╕рд╕реЗ рдЖрдк рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдкрдврд╝рдиреЗ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдЖрдХрд╛рд░ рдЗрд╕ рдореВрд▓реНрдп рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдиреНрдпреВрдирддрдо рд╕реНрд╡реАрдХрд╛рд░реНрдп рдореВрд▓реНрдп рд╣реИ, рдЬрд┐рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ getMinBufferSize() getMinBufferSize() ред
|
---|
рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди, рдПрдХ рд╡рд╕реНрддреБ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреА рд╣реИ рдЬреЛ рдЙрд╕реЗ рдЪрд╛рд╣рд┐рдПред рд╡рд╣ рдХрд┐рддрдиреА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдлрд▓ рд╣реБрдИ, рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдкрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
getState()
getState()
ред рдЕрдЧрд░ рд╡рд╣ рд▓реМрдЯрддреА рд╣реИ
STATE_INITIALIZED
STATE_INITIALIZED
, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рдпрджрд┐
STATE_UNINITIALIZED
STATE_UNINITIALIZED
рдЕрд░реНрде рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рд╣реИред
рддреНрд░реБрдЯрд┐ рдХреЗ рджреЛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: рдПрдХ рдмрдлрд░ рдЬреЛ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрдорд╛рдиреНрдп рдкреНрд░рд╛рд░реВрдк рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ
getMinBufferSize()
рдХреЙрд▓ рдХрд░рдХреЗ рдЗрд╕рд╕реЗ рдмрдЪрд╛
рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рджреВрд╕рд░рд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ред
getMinBufferSize ()
рдпрд╣ рд╕реНрдерд┐рд░ рд╡рд┐рдзрд┐ рдЖрдВрддрд░рд┐рдХ рдмрдлрд░ рдХреЗ рдиреНрдпреВрдирддрдо рдЖрдХрд╛рд░ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреА рд╣реИ рдЬрд┐рд╕ рдкрд░
AudioRecord
рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рд╡рд╣реА рдЕрд░реНрде рд╣реИ рдЬреЛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рд╕рд┐рд╕реНрдЯрдо рдЕрднреА рднреА рдХреБрдЫ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╕реНрдд рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЕрднреА рднреА рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдЫреЗрдж рд╣реЛрдВрдЧреЗред рдореБрдЭреЗ рджрд╕ рдЧреБрдирд╛ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ рд▓реЗрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рдорд┐рд▓реАред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рд╛рд░реВрдк
getMinBufferSize()
рдкрджреНрдзрддрд┐ рдХреА рдПрдХ рдЕрдЪреНрдЫреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ -
рдЗрд╕ рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдорд╛рдиреНрдп рд╣реИрдВ
, рдЬреЛ рдЗрд╕ рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдорд╛рдиреНрдп рд╣реИрдВ,
ERROR_BAD_VALUE
ERROR_BAD_VALUE
рдпрд╛
ERROR
ERROR
ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рд╕рдВрднрд╡ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд┐рд╕ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
int[] rates = {8000, 11025, 22050,44100, 48000, 96000 }; int[] chans = {AudioFormat.CHANNEL_IN_MONO, AudioFormat.CHANNEL_IN_STEREO}; int[] encs = {AudioFormat.ENCODING_PCM_8BIT, AudioFormat.ENCODING_PCM_16BIT}; for(int enc : encs) { for(int ch : chans) { for(int rate : rates) { int t = AudioRecord.getMinBufferSize(rate, ch, enc); if((t != AudioRecord.ERROR) && (t != AudioRecord.ERROR_BAD_VALUE)) {
рдбреЗрдЯрд╛ рд░реАрдбрд┐рдВрдЧ
рдЖрдВрддрд░рд┐рдХ рдмрдлрд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
read()
read()
ред рдпрд╣ рддреАрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ:
read(byte[] audioData, int offsetInBytes, int sizeInBytes)
read(short[] audioData, int offsetInShorts, int sizeInShorts)
read(ByteBuffer audioBuffer, int sizeInBytes)
рдЙрдирдХреЗ рдкреИрд░рд╛рдореАрдЯрд░:
audioData | рд╕рд░рдгреА рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ |
---|
audioBuffer | рдмрдлрд░ рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ |
---|
рдСрдлрд╕реЗрдЯрдмрд╛рдЗрдЯ / offsetInShorts | рдЬрд┐рд╕ рдкрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧреА |
---|
sizeInShorts | рдЕрдиреБрд░реЛрдзрд┐рдд рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХрд╛ рдЖрдХрд╛рд░ред рдмрд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдмрд╛рдЗрдЯ рдФрд░ byte[] , рд╢реЙрд░реНрдЯ рдХреЗ рд▓рд┐рдП short[] рдкреВрд░реНрдгрд╛рдВрдХ рдореЗрдВ short[] |
---|
рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рддреЛ рд╡рд┐рдзрд┐ рдкрдврд╝реА рдЧрдИ рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧреА, рдЕрдЧрд░ рдпрд╣
ByteBuffer
рдпрд╛
byte[]
рд╕рд╛рде рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реИ, рдпрд╛
short[]
рд▓рд┐рдП
short[]
рдкреВрд░реНрдгрд╛рдВрдХ рдкрдврд╝реЗрдВред рдпрджрд┐ рдХреЙрд▓ рдХреЗ рд╕рдордп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╡рд╣
ERROR_INVALID_OPERATION рд▓реМрдЯреЗрдЧрд╛ , рдФрд░ рдпрджрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ -
ERROR_BAD_VALUEрдорд╣рддреНрд╡рдкреВрд░реНрдг: рд╡рд┐рдзрд┐ рдХреЙрд▓рд┐рдВрдЧ рдереНрд░реЗрдб рдХреЛ рддрдм рддрдХ рдмреНрд▓реЙрдХ рдХрд░рддреА рд╣реИ рдЬрдм рддрдХ рд╡рд╣ рдбреЗрдЯрд╛ рдХреА рдЕрдиреБрд░реЛрдзрд┐рдд рдорд╛рддреНрд░рд╛ рдХреЛ рдирд╣реАрдВ рдкрдврд╝ рд▓реЗрддреА рд╣реИред рдпрджрд┐ рдЖрдВрддрд░рд┐рдХ рдмрдлрд░ рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рд╕реЗ рдЖрдиреЗ рддрдХ
read()
рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП, рд╡рд┐рдзрд┐ рдХреЛ
рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рдЯрдХрд╛рдПрдЧрд╛ред
рджреГрд╖реНрдЯрд┐рдХреЛрдг, рдкреАрдЫреЗ рд╣рдЯрдирд╛, рдирд┐рд░реНрдзрд╛рд░рдг
рддрд╛рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗ, рдЖрдкрдХреЛ AndroidManifest, xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
startRecording()
startRecording()
, рдФрд░ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП -
stop()
stop()
ред рдЖрдк рдЬрд┐рддрдиреА рдмрд╛рд░ рдЪрд╛рд╣реЗрдВ рдЙрддрдиреА рдмрд╛рд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╢реБрд░реВ рдФрд░ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
release()
release()
ред рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛ рдХреИрдкреНрдЪрд░ рдХрд┐рдП рдЧрдП рд╕рднреА рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХрд░реЗрдЧрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛
рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдЪрд░ рдХреЛ
null
рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдорд╣рддреНрд╡рдкреВрд░реНрдг: рдпреЗ рддреАрди рд╡рд┐рдзрд┐рдпрд╛рдВ, рдЬреЛ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рд╣реИрдВ, рдХреЗ рд╡рд┐рдкрд░реАрдд, рдлреЗрдВрдХ рджреЗрдВрдЧреЗ
IllegalStateException
IllegalStateException
, рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд╕рдВрдЧрдард┐рдд (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рд╢рдмреНрдж ... :) рд╡рд╕реНрддреБ рдпрд╛ рдЧрд▓рдд рдХреНрд░рдо рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ "рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ" рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рдд
try
рдмреНрд▓реЙрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд░реНрдЧ рд╡рд╣ рд╕рдм рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╣ рдЙрд╕рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХреГрдд рднреЗрдЬрддрд╛ рд╣реИ
Handler
рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
Handler
рд╕рдВрджреЗрд╢ред рдпрд╣ рдбреЗрдЯрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдереНрд░реЗрдб рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП, рдЙрди рдбреЗрдЯрд╛ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЕрднреА рддрдХ рдирдП рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВ, рдПрдХ рдкрд░рд┐рдкрддреНрд░ рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреЛрдб
AudioFormatInfo
рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рддреАрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ
POJO рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
sampleRateInHz
,
channelConfig
рдФрд░
audioFormat
ред
package com.MyCompany; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import android.media.AudioFormat; import android.media.AudioRecord; import android.media.MediaRecorder; import android.os.Handler; import android.os.Process;