Take a look at this attachment from the EMDK for .NET help file. Let me know if this is what you need.
beepvol.pdf 87.1 K
Here is the email back from my partner and the issue he is facing.
Unless I am interpreting what you sent incorrectly, it cannot be used to control the volume of the scanner decode beep. Reading that document and the other information in the help, it indicates that the function only controls the volume through the “beeper”. On the WT41N0 I am not dealing with a beeper, but the sound coming through the speaker.
The code that I tried looked like the following:
public Symbol.Audio.Device mAudioDevice = new Symbol.Audio.Device("AUDIOAPI32", "", Symbol.Audio.AudioType.StandardAudio);
mMyAudioController = new Symbol.Audio.Controller(mAudioDevice);
- mMyAudioController.BeeperVolume = 1;
Note: The original setting for BeeperVolume is 0, which is already at the lowest level and I assume means that it is basically off. That again tells me that this is not the proper place to look to control the scanner decode volume.
Charles (Ubriaco) indicated that there is an amplitude adjustment for the beep level in the scanner API. The problem is that I cannot find that API. If i search for "amplitude" in the Enterprise Mobility Developer Kit for .NET Help, it does not find any topics.
Looking deeper into the API, I did find "ScanParamsAPI". However, this would not allow me to change the Amplitude. I could change the frequency, but this did not help in reducing the volume (did not expect it to but wanted to try). I did notice that this item did allow me to change the WaveFile so I started to go down that path. So I took the current \windows\decode.wav file and manually reduced the amplitude. I then copied the file back on the device into one of our directories. Inside the code, once my "reader" was fully created and ready to scan, I did the following:
- mBarcode.Parameters.Feedback.Success.WaveFile = "\\Program Files\\DirectorIT\\vPack\\Bin\\DematicWT41N0_decode.wav";
However, this had NO effect on the volume. No matter what I did i could not override the Wave file that was being played on a successfull scan. So either I am using the api incorrectly or it does not work.
NOTE: The above was using the Symbol.Barcode assembly and NOT the Symbol.Barcode2 assembly. This should not make a difference with what I am trying.
I then switched my application over the the Symbol.Barcode2 assembly. I tried using the following statement to overide the decode wav:
- mMyBarcode.Config.Scanner.DecodeWaveFile = "\\Program Files\\DirectorIT\\vPack\\Bin\\DematicWT41N0_decode.wav";
Again, this did not seem to work as the system was still playing the very loud wave file and not my quieter custom one.
¿Is it now revsolved?
This code works for me:
reader.Parameters.Feedback.Success.BeepFrequency = 880;
Symbol.Audio.Device device = Symbol.Audio.Device.AvailableDevices;
using (Symbol.Audio.StandardAudio audioDevice = new Symbol.Audio.StandardAudio(device))
audioDevice.BeeperVolume = 1;
this changes beep frequency and volume.
Any luck guys ?