Я хочу знать, что именно происходит, когда я запускаю эту операцию.
//main thread
val mFilePath = getFilePath()
var r = MediaRecorder().apply {
setAudioSource(MediaRecorder.AudioSource.MIC)
setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP)
setOutputFile(mFilePath)
setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB)
}
val thread = Thead{
// background thread
r.apply{
try {
prepare()
start()
}
catch (e: IOException) {
Log.d(TAG, "recording failed at start: $e")
}
}
}.run()
1 Запись звука происходит в фоновом потоке thread
? если это так, вызывая это в главном потоке
r.apply {
try {
stop()
release()
} catch (e: IOException) {
Log.d(TAG, "media recording failed at stop: $e")
}
}
остановит ли запись запись происходящего в фоновом потоке?
что я действительно хотел сделать, это записать звук в фоновом потоке и
остановите запись в фоновом потоке, когда пользователь пожелает.