My android Juce application release

Just released my first public application for Android with Juce. I want to share this with you. It is free real-time audio spectrum anlyzer. Link.

5 Likes

Congrats on the release! Going to check it out on my S7 Edge and Tab E…

I sense some strict happy pathing! The app crashes if you disable the microphone permissions.

Yes. I relied that the user always gives permission to the microphone during installation. Likely this is not correct, I have to finish this part.

Thanks for the congrats and testing!

Yeah you have to implement run-time permissions now with Android all the time.

Is this all internal JUCE drawing API or OpenGL? I am getting into the graphics part of JUCE and need real-time graphic things like this on Android (cpu expense optimized).

All internal JUCE drawing API.

1 Like

I do it runtime like in examples in constructor of AudioAppComponent inherited class so:

        RuntimePermissions::request (RuntimePermissions::recordAudio,
                                 [this] (bool granted)
                                 {
                                     int numInputChannels = granted ? 1 : 0;
                                     setAudioChannels (numInputChannels, 0);
                                 });

Actually it ask permission during installation (or first run?) only or never on different devieces.

Dealing with Android, it’s based on what the user selects each call.

Some users will only accept a permission once, and you have to ask again or at least call the code every time and check for granted.

On many devices this code never asks for permission from the user. Thus, permission will not be enabled until the user himself goes to the settings and turns it on.

I am a bit confused, I thought there was a question here. :slight_smile:

All I was saying is I have had experience with run-time permissions (not with JUCE yet other than file stuff).

It was not fully correct work on my part. I fixed it. Now ok.

I’ve released an update on Google Play. Now microphone permission is requested every launch until it is enabled and the application does not crash if permission is not enabled.