Kotlin Voice Record Upload Overwriting on Firebase

Привет, ребята, напишите некоторый код, чтобы записать аудиозапись для сохранения на firebase. Его работа, но всегда с тем же именем, что и вызвало переписку. Как я могу это исправить ?

mFileName = externalCacheDir!!.absolutePath mFileName += "/recorded_audio.3gp" private fun startRecording() { mRecorder = MediaRecorder() mRecorder!!.setAudioSource(MediaRecorder.AudioSource.MIC) mRecorder!!.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP) mRecorder!!.setOutputFile(mFileName) mRecorder!!.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB) try { mRecorder!!.prepare() } catch (e: IOException) { Log.e(LOG_TAG, "prepare() failed") } mRecorder!!.start() } private fun stopRecording() { mRecorder!!.stop() mRecorder!!.release() mRecorder = null uploadAudio() } private fun uploadAudio() { val filepath = mStorage!!.child("Audio").child("new_audio.3gp") val uri = Uri.fromFile(File(mFileName!!)) filepath.putFile(uri).addOnSuccessListener { } } companion object { private val LOG_TAG = "Record_log" } 

Проблема в том, что вы всегда используете одно и то же имя файла:

 mFileName = externalCacheDir!!.absolutePath mFileName += "/recorded_audio.3gp" 

Если вы создаете случайный UUID (или похожий), например:

 mFileName = externalCacheDir!!.absolutePath mFileName += "/" + UUID.randomUUID().toString() + ".3gp" 

Вы больше не будете перезаписывать файлы.

Interesting Posts

проблема с параметром типа параметра

Проверьте, прокручивается ли RecyclerView сверху (findFirstCompletelyVisibleItemPosition не работает)

С плагином «kotlin-kapt», Android Studio не дает конкретных ошибок в отношении Dagger 2

Может ли Delegates.observable () быть сериализуемым?

Сортировка коллекции по нескольким полям в Котлине

Унаследованные декларации платформы сталкиваются при расширении класса Java в Котлине

Настройка прослушивателей Android в Kotlin – использование возврата в lambdas

Экземпляр Kotlin KClass внутри функции расширения

Почему строка интерполяции Kotlin объединяет строки в Java?

Автофокус не работает в Samsung S8

Доступ к полю другого экземпляра того же класса в Котлине

как получить доступ к сопутствующему объекту из экземпляра объекта в kotlin?

Kotlin: как передать массив в аннотацию Java

Класс данных Котлина с производными свойствами

Могу ли я применять функцию infix внутри собственного класса без этого?

Давайте будем гением компьютера.