可以透過裝置的麥克風與相機鏡頭或取音訊或視訊,並以各種常見的影音編碼格式儲存。MediaRecoder有自己的生命週期。若要改成錄影,則將setAudioSource()改成setMediaSource()即可。
//Step1:建立MediaRecorder物件
val recoder = MediaRecorder()
//Step2:設定聲音來源為麥克風
recorder.setAudioSource(MediaRecorder.AudioSource.MIC)
//Step3:設定輸出MP4
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4)
//Step4:設定編碼器為AMR_NB及輸出路徑
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB)
recorder.setOutputFile(File(dir, fileName).absolutePath)
//Step5:讓MediaRecorder進入錄製與編碼的準備階段
recorder.prepare()
//Step6:開始錄製
recorder.start()
//Step7:停止錄製
recorder.stop()
//Step8:釋放MediaRecorder占用的資源,此時recorder無法再使用
recorder.release()