gauravk95 / audio-visualizer-android

🎵 [Android Library] A light-weight and easy-to-use Audio Visualizer for Android.
Apache License 2.0
844 stars 127 forks source link

Cannot initialize Visualizer engine, error: -3 #19

Open northout-silky opened 3 years ago

northout-silky commented 3 years ago

Getting “Cannot initialize Visualizer engine, error: -3” when trying to use Visualizer with ExoPlayer

northout-silky commented 3 years ago

@gauravk95

alhajsid commented 3 years ago

@gauravk95 i am waiting too

sagarrishabh commented 3 years ago

@northout-silky Did you handle RECORD_AUDIO permission?

Aadic2601 commented 3 years ago

Give permission in manifest and then while installing

AdisAlagic commented 3 years ago

Give permission in manifest <uses-permission android:name="android.permission.RECORD_AUDIO" /> Request permission in runtime

wise4rmgod commented 3 years ago

Solution: private val PERMISSION_REQUEST_CODE = 100

fun checkPermission(): Boolean {
    val result = ContextCompat.checkSelfPermission(
        binding.root.context as Activity,
        android.Manifest.permission.RECORD_AUDIO
    )
    return result == PackageManager.PERMISSION_GRANTED
}

fun requestPermission() {
    ActivityCompat.requestPermissions(
        binding.root.context as Activity,
        arrayOf(Manifest.permission.RECORD_AUDIO),
        PERMISSION_REQUEST_CODE
    )
}

in your Android onCreate function call the below function requestPermission() if (checkPermission()) { //get the AudioSessionId from your MediaPlayer and pass it to the visualizer val audioSessionId: Int? = MediaPlayerMix.mPlayer?.audioSessionId if (audioSessionId != -1) audioSessionId?.let { binding.blast.setAudioSessionId(it) } }