Files
forkmessager/client-mobile/core/utils/VoiceRecorder.kt
Халимов Рустам 1fb1be47dd Приложение
2026-04-14 01:15:54 +03:00

35 lines
912 B
Kotlin

package core.utils
import android.content.Context
import android.media.MediaRecorder
import android.os.Build
import java.io.File
import java.io.FileOutputStream
class VoiceRecorder(private val context: Context) {
private var recorder: MediaRecorder? = null
fun startRecording(outputFile: File) {
recorder = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
MediaRecorder(context)
} else {
MediaRecorder()
}.apply {
setAudioSource(MediaRecorder.AudioSource.MIC)
setOutputFormat(MediaRecorder.OutputFormat.MPEG_4)
setAudioEncoder(MediaRecorder.AudioEncoder.AAC)
setOutputFile(FileOutputStream(outputFile).fd)
prepare()
start()
}
}
fun stopRecording() {
recorder?.apply {
stop()
release()
}
recorder = null
}
}