@Override
    public float millisecondsPlayed()
    {
        switch( channelType )
        {
            case SoundSystemConfig.TYPE_NORMAL:
                if( clip == null )
                    return -1;
                return clip.getMicrosecondPosition() / 1000f;
            case SoundSystemConfig.TYPE_STREAMING:
                if( sourceDataLine == null )
                    return -1;
                return sourceDataLine.getMicrosecondPosition() / 1000f;
            default:
                return -1;
        }
    }