I've done it in a few cases; this example is from a parking announcement outside my classic LAX ("the white zone is for loading and unloading, no parking". Here is the general idea from a previous thread:
First you have a effects controller file. This controls where you must be located to hear the effect. This effect controller file must be placed into the scenery, at the locations you want to hear the sound. I placed one at each terminal at LAX. Second you have the effect file that actually plays the sound. This file is called by the controller file when specified.
ADE can place effects into the scenery, if you have used that program to create your Cape Canaveral airport (or you can load your AFCAD bgl file into ADE and use ADE from this point forward). If not, you can use XML and bglcomp to place them manually. This is not too hard.
The controller file (Cntl_parking_announce.fx), looks like this:
[Library Effect]
Lifetime=5
Version=1.00
Radius=61
Priority=0
[controller.0]
Lifetime=0.00, 0.00
Type=3
Delay=10.0, 10.0
distance=61,61
X Offset=0.00, 0.00
Y Offset=0.00, 0.00
Z Offset=0.00, 0.00
effect.0=fx_parking_announce, 0,0,0,0,0,0,0,0
So make a copy of my controller (in your FS2004/Effects folder) and paste it back in. Then rename it to something like Cntl_Canaveral_announce.fx.
The only line you must change is the last one, to point to your sound effect file, not mine. Just change the file name. You may also want to change the Radius=, distance=, and Delay= lines, if you want the trigger area to be larger/smaller, or the sound to start sooner/later (and the length of silence between announcement repeats).
So now we come to the sound effect file itself (fx_parking_announce.fx). The only important part of this file is at the top:
[Library Effect]
Lifetime=5
Version=2.00
Radius=0
Priority=0
Sound=5
Sound Param=31
[Properties]
Cockpit=1
VirtualCockpit=1
Spot=1
Tower=1
Map=1
The Emitter section below does nothing - it just makes it a valid effect file.
So make a copy of this file and rename the copy something like fx_Canaveral_announce.fx.
The important lines here are the Sound= and the Sound Param= lines. The Sound= line determines how the sound will be played (5 = play once; the controller repeats it). and the Sound Param= line determines which WAV file will be played. These WAV file names are all *hard coded* in FS and cannot be changed. There are a limited number of WAV file names and they cannot be used more than once in FS - you can use only one each in your entire FS9 installation.
The sound parameters and associate file names are:
----------------------------------------------------
Sound filenames associated with effects file entries
----------------------------------------------------
Sound type "5"
Where three filenames are listed, one will play at
random at each initiation of the effect...
----------------------------------------------------
FX file entry sound file(s)
----------------------------------------------------
Sound=5
Sound Param=0
firework.wav
----------------------------------------------------
Sound=5
Sound Param=3
xvlg_exp.wav
----------------------------------------------------
Sound=5
Sound Param=4
amb_aexp1a.wav
amb_aexp1b.wav
amb_aexp1c.wav
----------------------------------------------------
Sound=5
Sound Param=7
amb_aexp2a.wav
amb_aexp2b.wav
amb_aexp2c.wav
----------------------------------------------------
Sound=5
Sound Param=10
amb_aexp3a.wav
amb_aexp3b.wav
amb_aexp3c.wav
----------------------------------------------------
Sound=5
Sound Param=13
amb_aexp4a.wav
amb_aexp4b.wav
amb_aexp4c.wav
----------------------------------------------------
Sound=5
Sound Param=16
amb_wexp1a.wav
amb_wexp1b.wav
amb_wexp1c.wav
----------------------------------------------------
Sound=5
Sound Param=19
amb_wexp2a.wav
amb_wexp2b.wav
amb_wexp2c.wav
----------------------------------------------------
Sound=5
Sound Param=22
amb_wexp3a.wav
amb_wexp3b.wav
amb_wexp3c.wav
----------------------------------------------------
Sound=5
Sound Param=25
amb_wexp4a.wav
amb_wexp4b.wav
amb_wexp4c.wav
----------------------------------------------------
Sound=5
Sound Param=28
amb_gexp1a.wav
amb_gexp1b.wav
amb_gexp1c.wav
----------------------------------------------------
Sound=5
Sound Param=31
amb_gexp2a.wav
amb_gexp2b.wav
amb_gexp2c.wav
----------------------------------------------------
Sound=5
Sound Param=34
amb_gexp3a.wav
amb_gexp3b.wav
amb_gexp3c.wav
----------------------------------------------------
Sound=5
Sound Param=37
amb_gexp4a.wav
amb_gexp4b.wav
amb_gexp4c.wav
----------------------------------------------------
Sound type "6"
These sounds play at one of four different "speeds"
or "tones", chosen randomly each time by the Sim...
The filename listed will play at each initiation
of the effect, with four possible variations...
----------------------------------------------------
FX file entry sound file(s)
----------------------------------------------------
Sound=6
Sound Param=1
imp_large_a.wav
----------------------------------------------------
Sound=6
Sound Param=2
imp_large_b.wav
----------------------------------------------------
Sound=6
Sound Param=3
imp_large_c.wav
----------------------------------------------------
Sound=6
Sound Param=4
imp_large_d.wav
----------------------------------------------------
Sound=6
Sound Param=5
imp_large_e.wav
----------------------------------------------------
Sound=6
Sound Param=6
imp_med_a.wav
----------------------------------------------------
Sound=6
Sound Param=7
imp_med_b.wav
----------------------------------------------------
Sound=6
Sound Param=8
imp_med_c.wav
----------------------------------------------------
Sound=6
Sound Param=9
imp_med_d.wav
----------------------------------------------------
Sound=6
Sound Param=10
imp_med_e.wav
----------------------------------------------------
Sound=6
Sound Param=11
imp_small_a.wav
----------------------------------------------------
Sound=6
Sound Param=12
imp_small_b.wav
----------------------------------------------------
Sound=6
Sound Param=13
imp_small_c.wav
----------------------------------------------------
Sound=6
Sound Param=14
imp_small_d.wav
----------------------------------------------------
Sound=6
Sound Param=15
imp_small_e.wav
----------------------------------------------------
Sound=6
Sound Param=16
imp_small_f.wav
----------------------------------------------------
Sound=6
Sound Param=17
imp_small_g.wav
----------------------------------------------------
The Sound=5 sounds are for scenery, while I use the Sound=6 sounds for my AI sounds . So you'll need to use Sound=5. I've already used Sound Param=31, so you will need to use another one. BTW, you can have up to 3 different announcements - they will play randomly. I instead have 3 identical WAV files so the same announcement plays all the time. Look in your main FS2004 Sound folder and you will see amb_gexp2a.wav, amb_gexp2b.wav, and amb_gexp2c.wav. These are my parking announcements. Your wav files will go here too.
Other scenery creators have also used some sounds in their sceneries but I don't use non-CalClassic scenery, so that's not a problem for me. You can look in your Sound folder for any other WAV files starting with amb_ - avoid using those. They often used the lower Sound Param numbers, so that's why I used a large one (31). I would do the same and use a number like 34, if available on your machine.