Ignition perspective Audio component with no WEB dev module

I am trying to play an alarm sound on a remote client PC using Perspective. I found the Audio component and have been reading several forum posts, but many solutions mention using the WebDev module. I do not currently have WebDev installed, so I am wondering if there is an alternative way to accomplish this.

My goal is to trigger a .wav sound file when an event or tag changes, and have it play through the audio speakers of the remote client running the Perspective session.

I also have some questions about where the sound file should be stored. Does the .wav file need to be placed on the PC where the Gateway is running, or can it be uploaded somewhere inside the Designer or project resources and referenced from there?

I already have the .wav file ready. I would appreciate any guidance on the best approach for this setup.

Thank you.

If the trigger is within Ignition, you could use messages and message handlers.

Depending on the scope of the trigger you might need to use a combination of both functions:

Regarding the storage of the audio file, looking at the docs it looks like the audio file must be statically served by a web server.

Edit: maybe you could use the file:// url prefix to load a local file? I didn't test it but sounds reasonable.

The file needs to be in your gateway. WebDev is the IA supported way to serve a file on a gateway to a Perspective client component.

If you can store the file as a blob in a database, you could serve it to clients with my free Blob Server 3rd party module. Read the whole topic:

You cannot. This is the holy grail of web malware, and is blocked by all modern browsers.

Finally, you can put a reverse proxy web server in front of Ignition, and configure that web server to directly handle desired static files. (Commonly done anyways when exposing Ignition via HTTPS on the public internet.)

We put our audio files in the Ignition/webserver/webapps directory (within the Ignition installation folder on the gateway server). The webapps folder is Ignition's built-in Jetty web server's document root. Any files placed under webapps/<your folder here> are accessible at http://<gateway-ip>/<your folder here>/ with no Web Dev module required. From here the component's source just needs to point to an audio file in said folder.

Example -- say you put a collection of audio files into the following folder on the gateway server:

C:\Program Files\Inductive Automation\Ignition\webserver\webapps\audio

Then your Audio component's source would look like this:

http://<your gateway IP here>/audio/your_sound_file.ogg

On the Audio component you can also use methods such as self.replay(), self.pause(), etc. through custom code.

This is unsupported for various reasons and will eventually break on upgrade. Do not do this.