2015-01-09 2 views
0

Java로 프로그래밍중인 게임에서 배경 음악을 사용하려고합니다. 나는 코딩 된, 오류가 전혀 없다.Java 게임에서 음악 재생

유일한 문제는 음악이 재생되지 않는다는 것입니다.

는 여기에 내가 프로그램 내용은 다음과 같습니다

import sun.audio.AudioData; 
import sun.audio.AudioPlayer; 
import sun.audio.AudioStream; 
import sun.audio.ContinuousAudioDataStream; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.InputStream; 

public void startBGMusic() 

    try{ 

     InputStream in = new FileInputStream(new File("opening1.mid")); 
     AudioStream audioStream = new AudioStream(in); 
     AudioPlayer.player.start(audioStream); 

    }catch(Exception error){ 
      System.out.println("File Not Found"); 
      System.out.println(error); 
} 

어떤 도움을 주시면 감사하겠습니다. 감사!

+0

이 체크 아웃을 원할 수도 있습니다. http://stackoverflow.com/questions/6038917/how-to-play-a-midi-file-in-a-new-thread-in-java –

+0

나는 ' 한번 해보겠습니다. 고맙습니다! – deSynthesize

답변

0

이 작동 :

import sun.audio.*; 
import java.io.*; 

public class AudioTest{ 

    private static AudioStream theStream; 

    // Main method 
    public static void main(String[] args){ 

     try{ 
      theStream = new AudioStream(new FileInputStream("opening1.mid")); 
      AudioPlayer.player.start(theStream); 
     } 
     catch(Exception e){e.printStackTrace();} 
    }//end main 

}//end AudioTest class 
0

난 강력하게 게임 오디오의 javax.sound.sampled의 라이브러리를 사용하는 것이 좋습니다 싶습니다. 내가 아는 한이 오래된 sun.audio 라이브러리는 더 이상 사용되지 않거나 더 이상 사용되지 않습니다. 나는 그것들을 전혀 사용하지 않으므로 그것들과 함께 작업하는 방법이나 하나의 시스템을 작동시키는 코드가 다른 시스템에서 작동 할 지에 대해서는 언급 할 수 없다. 나는 당신이 그럴 것이라고 가정 할 수 있다고 생각하지 않습니다.

자습서는 어려운 읽기이지만 자습서 Trail: Sound에 필요한 것이 있습니다.

사운드 재생 섹션이 주요 초점 포인트입니다.

일부 사람들은 게임 sf/x 프로그래밍을 단순화하는 방법으로 TinySound (github에서 무료로 사용 가능)와 같은 라이브러리를 사용합니다. java-gaming.org/

왜 많은 사람들이 이러한 오래된 태양 라이브러리를 사용하려고하는지 궁금해합니다. 어쩌면 부작용 일 것입니다. 필연적으로 문제가 발생하여 StackOverflow에서 질문하는 것입니다. 결과적으로 그 인구는 "과도하게 대변된다"? 그것을 도울 수 있다면

0

이 방법은 나를 위해 완벽하게 작동합니다 :

public synchronized void alarm(String audioString) 
{ 
    try 
    { 
     Clip crit = AudioSystem.getClip(); 
     AudioInputStream inputStream1 = AudioSystem.getAudioInputStream(this.getClass().getResource(audioString)); 
     crit.open(inputStream1); 
     crit.loop(Clip.LOOP_CONTINUOUSLY); 
     crit.start(); 

    } catch (Exception e){System.err.println(e.getMessage());} 
} 

난 그냥, 내 생각이 아니다주의 나는 그것을 위해 어떤 크레딧을 복용하고 있지 않다,이 웹 사이트에 다른 곳이 코드를 발견했다.