2013-12-25 1 views
-3

Как добавить звук в мою основную игру «Звуковое приключение»?Добавить звук в мою основную игру «Звуковое приключение»

Я новичок, и я хочу сделать базовую звуковую приключенческую игру. (Да, вы слышали это правильно, 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

Вы могли бы начать с [Sound] (http://docs.oracle.com/javase/tutorial/sound/) след, или если вы хотите придерживаться с MP3, посмотрите на [JLayer по JavaZoom ] (http://www.javazoom.net/javalayer/javalayer.html). Попробуйте что-нибудь и посмотрите, что работает. – MadProgrammer

ответ

0

Там буквально тонны ресурсов с помощью простого поиска Google.

Использование JavaFX Framework

Просто используйте экземпляр AudioClip. Этот режим очень подходит для воспроизведения одиночных коротких звуков.

AudioClip plonkSound = new AudioClip("http://somehost/path/plonk.aiff"); 
plonkSound.play(); 

Используя стандартный Java API

Standard Java API является немного более болезненным, у меня нет никакого опыта работы с ним, но этот кусок кода имеет 60+ Upvotes на этом related question.

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(); 
} 
Смежные вопросы