org.mitre.jdas
Interface AudioBroker

All Superinterfaces:
EventGenerator
All Known Implementing Classes:
JdasServer

public interface AudioBroker
extends EventGenerator

Objects implementing the AudioBroker interface are expected to implement methods to handle brokered audio I/O.

Brokered audio is handled by way of messages objects corresponding to discrete utterances generated by push-to-talk. Messages typically contain audio format information, a vector of brokered sample buffers, and a status flag indicating broker activity.


Method Summary
 boolean isInputActive()
          Indicates the availability of audio data from an open message.
 boolean isInputStartable()
          Indicates the availability of a message queued for playback.
 boolean isOutputStarted()
           
 boolean isResendable()
           
 byte[] receiveAudio()
          Brokers in a buffer of audio bytes.
 void sendAudio(byte[] audioBytes)
          Brokers out a buffer of audio bytes.
 javax.sound.sampled.AudioFormat startInput()
          Initiates broker input, throwing an exception if no message is available.
 void startOutput(javax.sound.sampled.AudioFormat format)
          Initializes and starts output broker corresponding to given audio format.
 void stopInput()
          Terminates input brokering.
 void stopOutput()
          Shuts down broker output.
 
Methods inherited from interface org.mitre.jdas.event.EventGenerator
addEventListener, notifySubscribers, removeEventListener
 

Method Detail

startOutput

public void startOutput(javax.sound.sampled.AudioFormat format)
Initializes and starts output broker corresponding to given audio format.

isResendable

public boolean isResendable()

isOutputStarted

public boolean isOutputStarted()

sendAudio

public void sendAudio(byte[] audioBytes)
               throws java.lang.Exception
Brokers out a buffer of audio bytes.

stopOutput

public void stopOutput()
Shuts down broker output.

isInputStartable

public boolean isInputStartable()
Indicates the availability of a message queued for playback.

isInputActive

public boolean isInputActive()
Indicates the availability of audio data from an open message.

startInput

public javax.sound.sampled.AudioFormat startInput()
                                           throws java.lang.Exception
Initiates broker input, throwing an exception if no message is available.
Returns:
Audio format of message.

receiveAudio

public byte[] receiveAudio()
Brokers in a buffer of audio bytes.

stopInput

public void stopInput()
Terminates input brokering.