Могу ли я сохранить звуковой файл, записанный MediaStore.Audio.Media.RECORD_SOUND_ACTION, в формате .wav?

Я использую следующий код для записи звука в моем Galaxy S2.

Намерение намерение = новое намерение (MediaStore.Audio.Media.RECORD_SOUND_ACTION);

Но этот код сохраняет его в файле .3ga.

В моем приложении мне нужно найти максимальную амплитуду звука. Но звук Java не поддерживает файл .3ga. Может кто-нибудь, пожалуйста, скажите мне, как я могу решить эту проблему?

Заранее спасибо!


person shriguru nayak    schedule 12.10.2012    source источник


Ответы (1)


Вы можете использовать AudioRecord для записи звука.

Рекордер AudioRecord = новый AudioRecord (MediaRecorder.AudioSource.MIC, 44100, AudioFormat.CHANNEL_IN_STEREO, AudioFormat.ENCODING_PCM_16BIT, bufferSize);

рекордер.startRecording();

Пожалуйста, взгляните на http://www.androiddevblog.net/android/android-audio-recording-part-2

person Durairaj Packirisamy    schedule 12.10.2012
comment
:) Хотел бы я, чтобы это было так просто. Но у меня нет контроля над телефоном пользователя. Пожалуйста, дайте другие варианты! - person shriguru nayak; 12.10.2012
comment
В этом случае вам не нужно было вызывать MediaStore.Audio.Media.RECORD_SOUND_ACTION, потому что все, что он делает, это запускает приложение для записи. Вы должны использовать AudioRecord для достижения этой цели. - person Durairaj Packirisamy; 12.10.2012
comment
Есть ли другой способ? Пожалуйста, дайте мне знать. Ссылка с примером кода была бы более полезной - person shriguru nayak; 13.10.2012
comment
Большое спасибо. Это полезно. - person shriguru nayak; 13.10.2012