I have been trying to use audiofx.Equalizer in Kotlin but I having the following problem:
AudioFlinger could not create effect 0bed4300-ddd6-11db-8f34-0002a5d5c51b / ec7178ec-e5e1-4432-a3f4-4657e6795210, status: -22 AudioEffect initCheck failed -3 Error code -3 when initializing AudioEffect.
java.lang.RuntimeException: Cannot initialize effect engine for type: 0bed4300-ddd6-11db-8f34-0002a5d5c51b Error: -3
With the code:
Track = AudioTrack.Builder()
.setAudioAttributes(AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_MEDIA)
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
.build())
.setAudioFormat(AudioFormat.Builder()
.setEncoding(MediaRecorder.AudioEncoder.AMR_NB)
.setSampleRate(Fs)
.setChannelMask( AudioFormat.CHANNEL_OUT_STEREO)
.build())
.setPerformanceMode( AudioTrack.PERFORMANCE_MODE_LOW_LATENCY )
.setTransferMode( AudioTrack.MODE_STREAM)
.build()
Track.play()
val eq = Equalizer(100, Track.getAudioSessionId())
eq.setEnabled(true)
with this permission:
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
Any idea why the audioEffect cannot start? Thanks,
Add RECORD_AUDIO permission to AndroidManifest.xml
then you have to request for this permission from within the Activity where it is being used.