Game Development Community

AlxSetChannelVolume Problem

by JW · in Torque Game Engine · 04/17/2006 (3:34 am) · 4 replies

Facing audio problems when using function alxSetChannelVolume(%channel, %volume);

The problem is when I use this function to stop Sim (Environmental) Audio Channel by changing the volume to "0"

alxSetChannelVolume($SimAudioType, 0);

and reset the Volume to "1" to play the audio; there is a some unwanted noise / audio disturbance (seems to be from the previous position where the player was) for a second before the actual audio starts

alxSetChannelVolume($SimAudioType, 1);


Any information would be helpful. Thanks

#1
04/18/2006 (5:54 am)
I am using TGE 1.3; have noticed that the OpenAL32.dll for TGE 1.4 is using an updated version - 6.14.357.11, while TGE 1.3 was using - 0.9.8.9.

Assuming that replacing the newer version of dll might solve the above problem I copied the newer version in TGE 1.3, however it does not seem to work. I get the following errors in the console.log file

:
:
OpenAL Driver Init: 
OpenAL
 Missing OpenAL Extension function 'EAXSet'
 Missing OpenAL Extension function 'EAXGet'
:
:
:
alxGetWaveLen: invalid buffer
AudioEmitter::update: failed to create source!
AudioEmitter::onAdd: client failed initial update!
:
:
:

Is it possipble to upgrading OpenAL32.dll for TGE 1.3? Will it solve the above problem?
#2
04/18/2006 (2:34 pm)
I get those same two missing extensions also...on v1.4.
#3
04/19/2006 (4:06 am)
The extensions doesn't matter , the eax function not working anyway !
You can not use the openAL32.dll from 1.4 with 1.3 , try to move the 1.4 audio code and libs to 1.3 ,should not be so hard to get working.
For the Channel volume then i don't have a clue .
#4
04/19/2006 (8:08 am)
Thanks all for the reply.

I was going through TGE 1.4 audio code in "engine\platformWin32\winOpenAL.cc" file to figure out the differences with TGE 1.3 but there is no differnce in code except that to load dll 1.3 uses
LoadLibrary( "OpenAl32.dll" ) and 1.4 uses LoadLibrary( dT("OpenAl32.dll") ); in method OpenALDLLInit().

Which other files can be studies to port the code?

Also, for the Channel Volume problem: we are using Channel Volume to stop and play the environmental audios like for Audio Emitters, is there any other method that can be used to achieve the same result?