Bug Bounty- Audio in IOS

Hi! I made this little game for kids for the Smithsonian in Panama to teach about FFT functions and how scientists use spectrograms to identify animals in audio. But it doesn’t work on safari or chrome on iphones or ipads. I have a $200 USD bounty on if someone can fix it.

I originally made it in Openprocessing, but then downloaded all the code to run off this github where the Smithsonian page kind of streams an embedded iframe on their page.

It uses the p5.sound library to get microphone audio and process audio samples to create FFT visualizations on the fly. I am guessing that might be around where the trouble lies.

Let me know if you are interested in chasing the bounty!

1 Like

Hello! Smartphones and tablets are often constrained when it comes to memory (compared to desktops and laptops). The game uses a lot of memory.

When running it on my iPhone SE, the following is shown in the console:

Taking a quick peek, it looks like the game creates many canvases (I counted almost 40). Maybe you could fix the problem by not loading them all at once?

3 Likes

Weird, i thought it would just make a single canvas, not totally sure how Openprocessing exactly works.

Maybe it turns each imported element in the preload() into a separate canvas?

Does the game actually run on your iphone and play sounds and react to your microphone? On my ipad it just does nothing.

Is it related to this problem with IOS stuff not doing HTML5 audio?

Yeah, maybe, I don’t know what’s causing it. That would require more thorough troubleshooting.

No, I can see the splash screen and start button, but nothing happens when I touch it.

No, the out of memory problem has nothing to do with the audio. You may have a problem with audio as well, hard to tell until the memory issue is resolved.

by the way, how do you see the javascript console in IOS? i have an ipad with chrome and safari and am trying to figure that out

I’m using the Web Inspector feature to access the iOS JavaScript console remotely, from my laptop. If you don’t have access to a machine running macOS, you have to rely on another solution, like this third party browser (I haven’t tried it myself). Eruda is another one I haven’t tried. :smile:

There’s seems to be a handful of alternatives out there if you search for iOS javascript console or similar.

1 Like