import javax.sound.sampled.*; import java.io.*; import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Helilindistus4 extends Applet implements ActionListener{ Choice valik=new Choice(); Button nupp1=new Button("Lindista"); Button nupp2=new Button("Mängi"); Button nupp3=new Button("Exit"); TextField teade=new TextField("Aias sadas saia"); TargetDataLine sisend; SourceDataLine valjund; AudioFormat formaat=new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 44100, 8, 1, 1, 44100, true); public Helilindistus4(){ nupp1.setBounds(40, 60, 50, 50); nupp2.setBounds(130, 100, 60, 60); add(nupp1); add(nupp2); add(nupp3); add(teade); nupp1.setBounds(40, 60, 50, 50); nupp2.setBounds(130, 100, 60, 60); nupp1.addActionListener(this); nupp2.addActionListener(this); nupp3.addActionListener(this); valik.addItem("1"); valik.add("2"); valik.addItem("3"); add(valik); valik.addItemListener(new Valikukuular(this)); ava(); } // public void paint(Graphics ekraan){ // ekraan.drawString(teade.getText(), 100, 100); // } class Valikukuular implements ItemListener{ Helilindistus4 apl; public Valikukuular(Helilindistus4 v){ apl=v; } public void itemStateChanged(ItemEvent e){ Choice valik=(Choice)e.getSource(); String lause=valik.getSelectedItem(); if(lause.equals("1"))teade.setText("aias sadas saia"); if(lause.equals("2"))teade.setText("aias oli torm"); if(lause.equals("3"))teade.setText("aias sadas vihma"); } } public void mangi(){ try{ AudioInputStream sisse=AudioSystem.getAudioInputStream(new File("Tagurpidi.wav")); AudioFormat f=sisse.getFormat(); System.out.println(f); SourceDataLine line=(SourceDataLine)AudioSystem.getLine( new DataLine.Info(SourceDataLine.class, f, AudioSystem.NOT_SPECIFIED) ); line.open(); line.start(); int puhvrisuurus=8000; byte[] baidid=new byte[puhvrisuurus]; int loetud=0; while((loetud=sisse.read(baidid, 0, puhvrisuurus))!=-1){ line.write(baidid, 0, loetud); } }catch(Exception viga){ viga.printStackTrace(); } } public void ava(){ try{ DataLine.Info info=new DataLine.Info(TargetDataLine.class, formaat); sisend=(TargetDataLine)AudioSystem.getLine(info); sisend.open(formaat, sisend.getBufferSize()); valjund=(SourceDataLine)AudioSystem.getLine( new DataLine.Info(SourceDataLine.class, formaat, AudioSystem.NOT_SPECIFIED) ); valjund.open(); valjund.start(); }catch(Exception viga){ viga.printStackTrace(); } } public void sule(){ sisend.close(); valjund.close(); System.exit(0); } public void actionPerformed(ActionEvent e){ if(e.getSource()==nupp1){ try{ byte andmed[]=new byte[240000]; sisend.start(); System.out.println("Lindistuse algus"); int baitidearv=sisend.read(andmed, 0, andmed.length); sisend.stop(); System.out.println("Lindistuse ots"); byte[] maluBaidid=andmed; byte[] maluTagurpidi=new byte[maluBaidid.length]; for(int nr=0; nr