Я получаю эту ошибку при попытке записать звук в Android Studio, я уже установил разрешения "Record_Audio" и "Write_External_Storage" в манифесте, но он все еще появляется.Появляется ошибка «errorjava.io.IOException: open fail: EACCES (Permission denied)» в первом уловке метода «grabar».
lateinit var recorder: MediaRecorder
lateinit var player: MediaPlayer
var archivo: File? =null
val RECORD_AUDIO:Int = 0;
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
boton1.setOnClickListener {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO)!= PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this,
arrayOf(Manifest.permission.RECORD_AUDIO), RECORD_AUDIO)
}else{
grabar()
}
}
private fun grabar() {
recorder = MediaRecorder()
recorder.setAudioSource(MediaRecorder.AudioSource.MIC)
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP)
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB)
val path = File(Environment.getExternalStorageDirectory().getPath())
try {
archivo = File.createTempFile("temporal", ".3gp", path)
} catch (e: IOException) {//ERROR
e.toString()
println("Este es el error"+e)
}
recorder.setOutputFile(archivo!!.absolutePath)
try {
recorder.prepare()
} catch (e: IOException) {
}
recorder.start()
tv1.text ="Grabando"
boton1.setEnabled(false)
boton2.setEnabled(true)
}