일부 음향 효과를 추가하려는 Java 기반 게임을 만들고 있습니다. 나는 혼란스럽고 혼란스러워했다. 저는 코딩이 파일 형식과 형식이 다른 것을 알고 있습니다. 나는 약간의 소리가 필요하다 - 어떤 형식이든 상관 없다. 가장 쉬운 파일 형식을 제안 해주세요. 코드 스 니펫은 매우 유용합니다.자바에 어떤 오디오 포맷을 사용해야합니까?
음향 효과를 제공하는 가장 쉬운 형식 및 방법은 무엇입니까?
일부 음향 효과를 추가하려는 Java 기반 게임을 만들고 있습니다. 나는 혼란스럽고 혼란스러워했다. 저는 코딩이 파일 형식과 형식이 다른 것을 알고 있습니다. 나는 약간의 소리가 필요하다 - 어떤 형식이든 상관 없다. 가장 쉬운 파일 형식을 제안 해주세요. 코드 스 니펫은 매우 유용합니다.자바에 어떤 오디오 포맷을 사용해야합니까?
음향 효과를 제공하는 가장 쉬운 형식 및 방법은 무엇입니까?
짧은 소리는 WAV 또는 AU, WAV는 작은 소리의 가장 잘 알려진 형식입니다. 방금이 작은 프로그램을 마쳤습니다. 할 일이 있다면 .wav 사운드가 있어야합니다.
이 프로그램은 버튼이있는 창을 생성하고 버튼을 누를 때마다 지정된 사운드가 재생됩니다. 당신은 항상 .AU 파일을 포함하여 다른 소리에 대해 "click.wav"를 변경할 수 있습니다
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.URL;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import javax.swing.JButton;
import javax.swing.JFrame;
public class PlaySound extends JFrame{
private Clip clip;
public static void main(String [] args) {
PlaySound app = new PlaySound();
}
public PlaySound() {
JButton play = new JButton("Play");//here we make the button
play.addActionListener(new ActionListener() {//here we tell what the button will do
public void actionPerformed(ActionEvent e) {
playTheSound();//when its clicked call this method
}
});
this.add(play);
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
private void SoundEffect(URL url) {
try {
// Set up an audio input stream piped from the sound file.
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(url);
// Get a clip resource.
clip = AudioSystem.getClip();
// Open audio clip and load samples from the audio input stream.
clip.open(audioInputStream);
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (LineUnavailableException e) {
e.printStackTrace();
}
}
// Play or Re-play the sound effect from the beginning, by rewinding.
public void playTheSound() {
URL url = getClass().getResource("click.wav");//You can change this to whatever other sound you have
SoundEffect(url);//this method will load the sound
if (clip.isRunning())
clip.stop(); // Stop the player if it is still running
clip.setFramePosition(0); // rewind to the beginning
clip.start(); // Start playing
}
}
.
오디오 파일 형식은 모두 필요한 항목에 따라 다릅니다. MIDI 파일은 음표 등을 사용하기 때문에 단순한 배경 음악에 적합하지만 MIDI 파일은 폭발음, 총격 등의 특정 소리를 만들 수 없습니다. MIDI를 악기 용 음악으로 생각하십시오. 음향 효과에는 사용되지 않습니다. 이것은 WAV 나 MP3 파일이 재생되는 곳입니다. 어떤 소리를 재생할 수있는 웨이브로 사운드를 재생하기 때문입니다. 그들은 더 큰 파일 (WAV 비 압축 그래서 더 큰)이지만 그들은 종종 음향 효과에 사용됩니다. 다른 형식으로도 사용할 수 있습니다. 검색 만하면됩니다. 사용하기 쉬운 사운드 포맷을 기반으로해서는 안되며, 실제로 정확히 무엇을 사용하고 있는지 (음악 대 음향 효과 등)에 달려 있습니다.
Java는 다양한 사운드 포맷을 지원합니다. 방금 (기본 효과 괜찮습니다) 기본 자바 사운드 API를 사용하는 경우
는, 그 다음은 오라클 자주 묻는 질문에서 유용 할 수 있습니다
어떤 오디오 포맷 자바 사운드를 지원합니까?
Java Sound는 AIFF, AU 및 WAV와 같은 오디오 파일 형식을 지원합니다. 또한 다음과 같은 MIDI 기반의 노래 파일 형식을 지원합니다. SMF 유형 0 (표준 MIDI 파일, .ma 파일), SMF 유형 1 및 RMF.
나는 AU와 WAV를 모두 성공적으로 사용했습니다.
as mikera & Basilio 독일어 참고 사항, AU & WAV는 게임에서 사용되는 짧은 음향 효과에 좋은 선택입니다. 현재의 JRE는 AudioSystem.getAudioFileTypes()
에 의해 반환 된 타입을 지원하지만, 나는이 둘 중 하나를 고수 할 것이다.
Clip
클래스는 사운드 바이트를로드하고 재생하는 쉬운 방법을 제공합니다.
예로서, 다음은 Java Sound info. page의 예입니다.
import java.net.URL;
import javax.swing.*;
import javax.sound.sampled.*;
public class LoopSound {
public static void main(String[] args) throws Exception {
URL url = new URL(
"http://pscode.org/media/leftright.wav");
Clip clip = AudioSystem.getClip();
// getAudioInputStream() also accepts a File or InputStream
AudioInputStream ais = AudioSystem.
getAudioInputStream(url);
clip.open(ais);
// loop continuously
clip.loop(-1);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// A GUI element to prevent the Clip's daemon Thread
// from terminating at the end of the main()
JOptionPane.showMessageDialog(null, "Close to exit!");
}
});
}
}
작은 짧은 음향 효과에는 Clip 클래스를 사용하고 .Wav 또는 .Au를 사용할 수 있습니다. mp3 음악을 재생하려는 경우 javazoom과 같은 mp3 Java 라이브러리를 항상 사용할 수 있습니다.
잘 일하면서 고맙습니다. 나는 그것을 공부할 것입니다. –