MITRE provides a Java GUI which can be used to control an audio server. Note that the target audio server must be started before this server is started.
C:\> java.exe -classpath %GC_HOME%\contrib\MITRE\bindings\java\lib\galaxy.jar;%OSTK%\audio_io\audio_gui\src\audio_gui.jar org.mitre.audiogui.AudioGUIMainServer ...
This server also accepts the standard server arguments. See the Galaxy Communicator Java binding documentation for details on the standard command-line arguments.
Note that this server has been tested with JDK 1.3 and JDK 1.4. It seems to work more reliably with 1.4. If you are using JDK 1.3 and one or both of the windows do not display completely, try 1.4. On Windows, this server requires JDK 1.4.
update updates the GUI based on
the current configuration of the audio server.
parameter | type | optional | depends on | description/constraints | |
IN: | :server_response | integer | If 1, indicates that this message is a reponse to a state change request made by the GUI (see Messages issued). If 0, indicates that this message contains state change information that the audio server is pushing to the GUI. | ||
:query_status | integer | yes | If 1, indicates that this message is a reponse to an initialization request made by the GUI (see Messages issued). | ||
:barge_in_enabled | integer | yes | If 1, the audio server has barge in enabled. If 0, it does not. | ||
:half_duplex_enabled | integer | yes | If 1, the audio server is in half duplex mode. If 0, it is in full duplex mode. | ||
:ptt_enabled | integer | yes | If 1, the audio server is in "push-to-talk" (PTT) mode. If 0, it is in voice activity detection (VAD) mode. | ||
:streaming_enabled | integer | yes | If 1, the audio server is streaming audio. If 0, it is sending audio in batch mode. | ||
:playbox_enabled | integer | yes | If 1, the audio server is using the MIT playbox control protocol on input and output. If 0, it is not. | ||
:mute_active | integer | yes | If 1, the audio server is muted. If 0, it is not. | ||
:on_hook | integer | yes | If 1, the audio server is "on the hook" (i.e., call disconnected). If 0, it is "off the hook" (i.e., call answered). | ||
:record_started | integer | yes | If 1, the audio server has started recording. If 0, it has not. | ||
:record_startable | integer | yes | If 1, indicates the audio server can start recording. If 0, indicates the audio server can not start recording. | ||
:voice_active | integer | yes | If 1, indicates the audio server is detecting a voice. If 0, indicates the audio server is not detecting a voice. | ||
:audio_resendable | integer | yes | If 1, indicates the audio server has audio data that it can resend. If 0, indicates the audio server does not have audio data that it can resend. | ||
:resend | integer | yes | If 1, indicates that the last audio data was resent for playback. If 0, it was not. |
This message returns a frame.
{c initialize_audio_gui}When the server requests a change in the audio server configuration, it sends one of these messages. The server then blocks until it receives a response (via an update message with :server_response set to 1).
When the "Barge-in Enabled/Barge-in Disabled" button is toggled:
{c audio_guiWhen the "Full-duplex Mode/Half-duplex Mode" button is toggled:
:barge_in_enabled <enable (1) or disable (0) barge-in>
}
{c audio_guiWhen the "VAD Mode/PTT Mode" button is toggled:
:half_duplex_enabled <enable half duplex (1) or full duplex (0) operation>
}
{c audio_guiWhen the "Streaming Mode/Batch Mode" button is toggled:
:ptt_enabled <enable push-to-talk (1) or voice activity detection (0) operation>
}
{c audio_guiWhen "Enable Playbox Brokering/Disable Playbox Brokering" is selected from the Controls menu on the controller GUI:
:streaming_enabled <enable audio streaming (1) or batch (0) mode>
}
{c audio_guiWhen "Click to Mute/Click to Un-Mute" is toggled in VAD mode:
:playbox_enabled <enable the MIT playbox control protocol (1) or use the default protocol (0)>
}
{c audio_guiWhen "On Hook/Off Hook" is toggled
:mute_active <mute (1) or unmute (0) the audio server>
}
{c audio_guiWhen any of the keypad buttons are pressed:
:on_hook <put the audio server "on the hook" (1) or "off the hook" (0)>
}
{c audio_guiWhen "Click to Start Recording/Click to Stop Recording" is toggled:
:touchtone <the keypad character pressed: 0-9, *, or #>
}
{c audio_guiWhen "Resend" is pressed:
:record_started <start(1) or stop (0) recording>
}
{c audio_gui
:resend 1
}