src/net/java/sip/communicator/service/protocol/media/MediaHandler.java
/**
     * Removes 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 remove from 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)
     */
Removes 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 remove from 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)
Removes 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 remove from 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 removeLocalUserAudioLevelListener(SimpleAudioLevelListener listener)
    {
        if (listener == null)
            return;
        synchronized (localUserAudioLevelListenerLock)
        {
            if (localUserAudioLevelListeners.contains(listener))
            {
                localUserAudioLevelListeners
                    = new ArrayList<SimpleAudioLevelListener>(
                            localUserAudioLevelListeners);
                if (localUserAudioLevelListeners.remove(listener)
                        && localUserAudioLevelListeners.isEmpty())
                {
                    AudioMediaStream audioStream = this.audioStream;
                    if (audioStream != null)
                        audioStream.setLocalUserAudioLevelListener(null);
                }
            }
        }
    }
void removeLocalUserAudioLevelListener ( SimpleAudioLevelListener listener ) { if ( listener == null ) return ; synchronized ( localUserAudioLevelListenerLock ) { if ( localUserAudioLevelListeners . contains ( listener ) ) { localUserAudioLevelListeners = new ArrayList < SimpleAudioLevelListener > ( localUserAudioLevelListeners ) ; if ( localUserAudioLevelListeners . remove ( listener ) && localUserAudioLevelListeners . isEmpty ( ) ) { AudioMediaStream audioStream = this . audioStream ; if ( audioStream != null ) audioStream . setLocalUserAudioLevelListener ( null ) ; } } } }
Removes 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).
Removes 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 ) .