2013-05-01 3 views
0

누군가이 문제를 해결할 수 있습니까?자바 배경 음악이 루프되지 않습니다

음악을 재생할 수 없으며 오류가 발생합니다.
"AudioData 객체를 만들 수 없습니다.". https://dl.dropboxusercontent.com/u/61061871/BackgroundMusic.rar

그것은 단지 0.93mb이다 :

당신은 여기에 전체 프로젝트를 다운로드 할 수 있습니다.

코드의 일부 :

AudioPlayer MGP = AudioPlayer.player; 
    AudioStream BGM; 
    AudioData MD; 

    ContinuousAudioDataStream loop = null; 

    try { 
     InputStream test = new FileInputStream("C:/Users/user/Desktop/music1.wav"); 
     BGM = new AudioStream(test); 
     AudioPlayer.player.start(BGM); 

     MD = BGM.getData(); 
     loop = new ContinuousAudioDataStream(MD); 

    } catch (FileNotFoundException e) { 
     System.out.print(e.toString()); 
    } catch (IOException error) { 
     System.out.print(error.toString()); 
    } 

    MGP.start(loop); 
+0

* "단지 0.93mb입니다."* 10Kb 당 $ 1 만 청구합니다. PayPal을 가지고 있습니까? OK - 또 다른 비꼬는 방법은 그것을 넣는 것입니다. 더 빨리 도움을 받으려면 [SSCCE] (http://sscce.org/)를 질문에 직접 게시하십시오. [Java 사운드 정보. "Clip"을 루핑하는 작업 예제 (SSCCE)에 대해서는 [페이지] (http://stackoverflow.com/tags/javasound/info)를 참조하십시오. –

+0

왜 그렇게 건방지게해야합니까? – user2339336

+0

왜 그렇게 연약해야합니까? –

답변

0

나는 다음있어 스택 추적 :

java.io.IOException: could not create AudioData object 
    at sun.audio.AudioStream.getData(Unknown Source) 
    at BackgroundMusic.music1(BackgroundMusic.java:32) 
    at BackgroundMusic.main(BackgroundMusic.java:15) 

이 지원하지 않습니다 AudioStream을 보인다 getData()

public AudioData getData() throws IOException{ 
    int i = getLength(); 
    if (i < 1048576) { 
     byte[] arrayOfByte = new byte[i]; 
     try { 
      this.ais.read(arrayOfByte, 0, i); 
     } catch (IOException localIOException) { 
      throw new IOException("Could not create AudioData Object"); 
     } 
     return new AudioData(this.format, arrayOfByte); 
    } 
    throw new IOException("could not create AudioData object"); 
} 

의 디 컴파일 코드입니다 a 오디오 파일 . 더 작은 것을 시도하십시오.

+0

아주 좋은 답변입니다! 정말 고맙습니다! – user2339336