1. Introdução ao MediaRecorder
MediaRecorder é uma API no Android que pode ser usada para implementar a função de gravação. Ele herda da classe android.media.MediaRecorder e pode realizar gravação de áudio e vídeo.
2. Uso do MediaRecorder
1. Primeiro, instancie um objeto MediaRecorder e defina a fonte de áudio:
val recorder = MediaRecorder()
recorder.setAudioSource(MediaRecorder.AudioSource.MIC)
2. Defina o formato de saída de áudio:
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP)
3. Defina o formato de codificação de áudio:
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB)
4. Defina o caminho do arquivo de gravação:
var path=""
var fileName = "${DateFormat.format("yyyyMMdd_HHmmss", Calendar.getInstance(Locale.CHINA))}.m4a"
var audioSaveDir=filesDir.absolutePath
path="$audioSaveDir$fileName"
recorder.setOutputFile(path);
5. Prepare-se para gravar:
recorder.prepare()
6. Comece a gravar:
recorder.start()
7. Pare de gravar:
recorder.stop()
8. Liberar recursos:
recorder.release()
3. Vantagens e desvantagens do MediaRecorder
MediaRecorder pode gravar áudio e vídeo, pode definir diferentes formatos de saída, pode definir diferentes formatos de codificação, também pode definir diferentes volumes, pode definir diferentes caminhos de arquivo de gravação e assim por diante.
No entanto, o MediaRecorder também tem algumas deficiências, como só pode gravar áudio e vídeo, mas não imagens; as etapas de implementação não são simples o suficiente, o caminho do arquivo de gravação também precisa ser definido com antecedência e não pode ser definido dinamicamente, e seu efeito de gravação não é muito bom.