@Override
    public void close()
    {
        switch( channelType )
        {
            case SoundSystemConfig.TYPE_NORMAL:
                if( clip != null )
                {
                    clip.stop();
                    clip.flush();
                    clip.close();
                }
                break;
            case SoundSystemConfig.TYPE_STREAMING:
                if( sourceDataLine != null )
                {
                    flush();
                    sourceDataLine.close();
                }
                break;
            default:
                break;
        }
    }