Question

How could I implement sound in my Processing sketch that works when I export the sketch to JavaScript?

I've written a sketch in Processing that includes two audio (.wav) loops. These loops are played through the Movie class upon mousePressed() and mouseDragged(). The sketch works in normal/Java mode, but does not load when changed to JavaScript mode. The sketch only works in JavaScript mode when I remove the sound.

I've noticed that other sketches that use the Movie class as well as sketch examples of libraries such as Minim fail to load when I export them to JavaScript, so I think it's a problem with my implementation rather than the actual code.

I plan to ultimately use the sketch through Safari on an iPad.

Thanks in advance.

Was it helpful?

Solution

For minim, you can use a relatively simple shim such as https://github.com/Pomax/Pjs-2D-Game-Engine/blob/master/minim.js - include it as a normal JS script on your page before loading any sketches, and your sketch won't complain that minim is an unknown thing.

Because Processing.js compiles your sketch to native JavaScript, global objects like Minim can simply be emulated in JavasScript as well: as long as the functions you're calling for Minim are defined in your JS "shim", things should work just fine.

On a more general note, because Processing libraries are precompiled Java VM byte code, Processing.js cannot load them, so any import statement is ignored.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top