Как остановить запись мультимедиа в фоновом потоке - PullRequest
0 голосов
/ 12 мая 2019

Я хочу знать, что именно происходит, когда я запускаю эту операцию.

//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")
            }
        }

остановит ли запись запись происходящего в фоновом потоке?

что я действительно хотел сделать, это записать звук в фоновом потоке и остановите запись в фоновом потоке, когда пользователь пожелает.

...