public void run(){  		
        try
        {
        	buff = new byte[Optiums.BUFF_SIZE];
        	recordFile = new FileOutputStream(new File(Optiums.FILE_RECORD_NAME + "." + 
        										Optiums.FILE_TYPE.toString().toLowerCase()));
        	outpuStream = new OutputStream() {
        		private byte l = 0;        
        		private int buffFill = 0;
        		@Override
				public void write(int arg0) throws IOException {
					// TODO Auto-generated method stub
        			if(m_line.isRunning()){
        				recordFile.write(arg0);
        				buff[buffFill] = (byte) arg0;
        				buffFill++;
        			}
        			if(buffFill == Optiums.BUFF_SIZE - 1){
        				 /* Work faster than class Player function update. 
        				That is why diagrams of same files can have little differences.*/
        				interf.updateDiagram(buff);
        				buffFill = 0;
        			}
					if(l < 24){					
	        			recordFile.write(arg0);  // Write magic numbers
	        			l++;
					}
				}
			};
            AudioSystem.write(m_audioInputStream, 
            		Optiums.FILE_TYPE, outpuStream); // There will be error if use the Wave format
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }