src/net/java/sip/communicator/service/protocol/media/MediaHandler.java
/**
     * Adds a specific <tt>SimpleAudioLevelListener</tt> to the list of
     * <tt>SimpleAudioLevelListener</tt>s to be notified about changes in the
     * level of the audio sent from the local peer/user to the remote peer(s).
     *
     * @param listener the <tt>SimpleAudioLevelListener</tt> to add to the list
     * of <tt>SimpleAudioLevelListener</tt>s to be notified about changes in the
     * level of the audio sent from the local peer/user to the remote peer(s)
     */
Adds a specific SimpleAudioLevelListener to the list of
SimpleAudioLevelListeners to be notified about changes in the
level of the audio sent from the local peer/user to the remote peer(s).

@param listener the SimpleAudioLevelListener to add to the list
of SimpleAudioLevelListeners to be notified about changes in the
level of the audio sent from the local peer/user to the remote peer(s)
Adds a specific SimpleAudioLevelListener to the list of SimpleAudioLevelListeners to be notified about changes in the level of the audio sent from the local peer / user to the remote peer ( s ) . @param listener the SimpleAudioLevelListener to add to the list of SimpleAudioLevelListeners to be notified about changes in the level of the audio sent from the local peer / user to the remote peer ( s )
void addLocalUserAudioLevelListener(SimpleAudioLevelListener listener)
    {
        if (listener == null)
            throw new NullPointerException("listener");
        synchronized (localUserAudioLevelListenerLock)
        {
            if (!localUserAudioLevelListeners.contains(listener))
            {
                localUserAudioLevelListeners
                    = new ArrayList<SimpleAudioLevelListener>(
                            localUserAudioLevelListeners);
                if (localUserAudioLevelListeners.add(listener)
                        && (localUserAudioLevelListeners.size() == 1))
                {
                    AudioMediaStream audioStream = this.audioStream;
                    if (audioStream != null)
                    {
                        audioStream.setLocalUserAudioLevelListener(
                                localUserAudioLevelListener);
                    }
                }
            }
        }
    }
void addLocalUserAudioLevelListener ( SimpleAudioLevelListener listener ) { if ( listener == null ) throw new NullPointerException ( "listener" ) ; synchronized ( localUserAudioLevelListenerLock ) { if ( ! localUserAudioLevelListeners . contains ( listener ) ) { localUserAudioLevelListeners = new ArrayList < SimpleAudioLevelListener > ( localUserAudioLevelListeners ) ; if ( localUserAudioLevelListeners . add ( listener ) && ( localUserAudioLevelListeners . size ( ) == 1 ) ) { AudioMediaStream audioStream = this . audioStream ; if ( audioStream != null ) { audioStream . setLocalUserAudioLevelListener ( localUserAudioLevelListener ) ; } } } } }
Adds a specific <tt>SimpleAudioLevelListener</tt> to the list of
 <tt>SimpleAudioLevelListener</tt>s to be notified about changes in the
 level of the audio sent from the local peer/user to the remote peer(s).
Adds a specific <tt > SimpleAudioLevelListener< / tt > to the list of <tt > SimpleAudioLevelListener< / tt > s to be notified about changes in the level of the audio sent from the local peer / user to the remote peer ( s ) .