Bajardi uzoqov rustam




Download 0.99 Mb.
Sana23.12.2023
Hajmi0.99 Mb.
#127728
Bog'liq
SINGAL RUSTAM
1uDeP5g4HdiC4E7vG4d9, Автомобил генераторлари, korean ratgibot new flayer, Biosfera haqida tushuncha. Vernadskiy ta`limoti, noosfera, didlaynIM

Muhammad AL Xorazmiy nomidagi Toshkent Axborot tEXNOLOGIYALAR UNIVERSITETI

SIGNALLAR VA TIZIMLAR fanidan


AMALIY ISH
BAJARDI UZOQOV RUSTAM




package task3;
import javax.sound.sampled.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;

public class school{


private static TargetDataLine targetDataLine;
private static final File outputFile = new File("recorded_music.wav");

public static void main(String[] args) {


SwingUtilities.invokeLater(() -> {
createAndShowGUI();
});
}

private static void createAndShowGUI() {


JFrame frame = new JFrame("Oddiy dastur spektral tahlil");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 240);

JPanel panel = new JPanel();


panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

JButton button1 = createButton("Ovoz yozib olish", "#154574", e -> ovozYozish());


JButton button2 = createButton("DKO'", "#748200", e -> dctt());
JButton button3 = createButton("DFO'", "#748100", e -> fftt());
JButton button4 = createButton("DVO'", "#748105", e -> veyvlet());
JButton button5 = createButton("Spektr", "#748110", e -> spektralTahlil());
JButton button6 = createButton("Chiqish", "#457454", e -> exitProgram());

panel.add(button1);


panel.add(button2);
panel.add(button3);
panel.add(button4);
panel.add(button5);
panel.add(button6);

frame.getContentPane().add(BorderLayout.CENTER, panel);


frame.setVisible(true);
}

private static JButton createButton(String text, String backgroundColor, ActionListener actionListener) {


JButton button = new JButton(text);
button.setAlignmentX(Component.CENTER_ALIGNMENT);
button.setMaximumSize(new Dimension(200, 30));
button.setBackground(Color.decode(backgroundColor));
button.addActionListener(actionListener);
return button;
}

private static void ovozYozish() {


System.out.println("Recording voice message...");

try {
AudioFormat audioFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 44100, 16, 2, 4, 44100, false);

DataLine.Info info = new DataLine.Info(TargetDataLine.class, audioFormat);

if (!AudioSystem.isLineSupported(info)) {


System.out.println("Line not supported");
return;
}

targetDataLine = (TargetDataLine) AudioSystem.getLine(info);


targetDataLine.open(audioFormat);
targetDataLine.start();

Thread captureThread = new Thread(() -> {


try {
AudioInputStream audioInputStream = new AudioInputStream(targetDataLine);

AudioSystem.write(audioInputStream, AudioFileFormat.Type.WAVE, outputFile);

System.out.println("Recording complete. Voice message saved to: " + outputFile.getAbsolutePath());

} catch (IOException e) {


e.printStackTrace();
}
});

captureThread.start();


Thread.sleep(20000);


captureThread.interrupt();


targetDataLine.stop();
targetDataLine.close();

} catch (LineUnavailableException | InterruptedException e) {


e.printStackTrace();
}
}

private static void dctt() {


System.out.println("DKO' method logic");

}

private static void fftt() {


System.out.println("DFO' method logic");
}

private static void veyvlet() {


System.out.println("DVO' method logic");

}

private static void spektralTahlil() {


System.out.println("Spektr method logic");

}

private static void exitProgram() {


System.exit(0);
}
}

Download 0.99 Mb.




Download 0.99 Mb.