Как остановить запись мультимедиа в фоновом потоке
Я хочу знать, что именно происходит, когда я начинаю эту операцию.
//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")
}
}
остановит запись, происходящую в фоновом потоке?
что я действительно хотел сделать, это записать звук в фоновом потоке и остановить запись в фоновом потоке, когда пользователь пожелает.