[java] JavaFX 소리 재생 및 녹음

JavaFX는 사용자 인터페이스를 구축하는 도구뿐만 아니라 음악 혹은 소리 재생과 녹음을 위한 강력한 기능을 제공합니다. 이 글에서는 JavaFX를 사용하여 소리를 재생하고 녹음하는 방법에 대해 알아보겠습니다.

소리 재생

JavaFX를 사용하여 소리를 재생하려면 MediaPlayer 클래스를 사용합니다. 다음은 간단한 예제 코드입니다.

import javafx.application.Application;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;

public class SoundPlayer extends Application {

    @Override
    public void start(Stage primaryStage) {
        String soundFile = "path/to/sound.wav";
        Media sound = new Media(new File(soundFile).toURI().toString());
        MediaPlayer mediaPlayer = new MediaPlayer(sound);
        mediaPlayer.play();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

위의 예제에서 soundFile 변수에 재생할 소리 파일의 경로를 지정하고 MediaPlayer 클래스에 해당 소리 파일을 전달하여 인스턴스를 생성합니다. 그리고 play() 메소드를 호출하여 소리를 재생합니다.

소리 녹음

JavaFX를 사용하여 소리를 녹음하려면 MediaRecorder 클래스를 사용합니다. 다음은 간단한 예제 코드입니다.

import javafx.application.Application;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaRecorder;
import javafx.stage.Stage;

public class SoundRecorder extends Application {

    @Override
    public void start(Stage primaryStage) {
        String outputFile = "path/to/output.wav";
        MediaRecorder mediaRecorder = new MediaRecorder();
        mediaRecorder.setDestination(new File(outputFile));
        mediaRecorder.record();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

위의 예제에서 outputFile 변수에 녹음한 소리를 저장할 파일의 경로를 지정하고 MediaRecorder 클래스에 해당 파일을 전달하여 인스턴스를 생성합니다. 그리고 record() 메소드를 호출하여 소리를 녹음합니다.

결론

JavaFX를 사용하면 소리를 재생하고 녹음하는 작업을 쉽게 수행할 수 있습니다. MediaPlayer 클래스를 사용하여 소리를 재생하고 MediaRecorder 클래스를 사용하여 소리를 녹음할 수 있습니다. 이를 활용하여 다양한 소리 관련 기능을 개발해보세요!

참고: