如何为我的基本'Sound Adventure'游戏添加声音?
我是初学者,我想做一个基本的声音冒险游戏。 (是的,你听到了,Sound Adventure。)
我知道Java的基础知识,我可以编写文本冒险代码,但我还不知道Sound在Java中是如何工作的。我已经看过互联网上的教程,但似乎没有用。 我准备改变声音的格式了。 (目前是.mp3) 此外,我正在使用JDK 7与Eclipse Kepler。 (如果有帮助的话。)
到目前为止,这是我的代码:
package everything;
import java.util.Scanner;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
public class Main {
public static void main(String[] args) {
// Declarations
System.out.println("Please Enter Your Name To Start...");
Scanner temp = new Scanner(System.in);
String name = temp.nextLine();
System.out.println("Okay " + name + ", Let's Get Started!");
System.out.println("Press N To Start The Game...");
while(!"N".equals(temp.nextLine())){
System.out.println("I Asked For The Letter N, Was It So Hard? Try Again!");
}
}
}
答案 0 :(得分:0)
通过简单的Google搜索,您可以获得大量资源。
使用JavaFX Framework
只需使用AudioClip的实例即可。这个非常适合播放单个短音。
AudioClip plonkSound = new AudioClip("http://somehost/path/plonk.aiff");
plonkSound.play();
使用标准Java API
标准Java API有点痛苦,我没有任何经验,但这段代码在此related question上有60多个Upvotes。
public static synchronized void playSound(final String url) {
new Thread(new Runnable() {
// The wrapper thread is unnecessary, unless it blocks on the
// Clip finishing; see comments.
public void run() {
try {
Clip clip = AudioSystem.getClip();
AudioInputStream inputStream = AudioSystem.getAudioInputStream(
Main.class.getResourceAsStream("/path/to/sounds/" + url));
clip.open(inputStream);
clip.start();
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}).start();
}