2012-08-23 2 views
3

MP3 파일을 디코딩하기 위해 JLayer를 사용하고 싶습니다. 필자는이 작업을 정확히 수행하는 방법에 대한 문서와 예제를 검색하여 검색했으며 사용법에 대해 전혀 언급하지 않았습니다. 내가 찾은 모든 것은 JavaSound라는 다른 예제 또는 참조에 포함되어 있습니다. 이는 제 경우에는 받아 들일 수없는 것입니다.JLayer로 MP3 파일 디코딩

나는 믿을 수 없을만큼 쉽게 느끼지만, 어떻게해야하는지 알 수 없다. 매개 변수가 무엇인지 알 수 없습니다.

Decoder decoder = new Decoder(); 
decoder.decodeFrame(Header header, Bitstream stream); 

또는 얻는 방법

tl; dr JLayer 외에 MP3 파일을 어떻게 디코딩하나요? No MP3 SPI, JavaSound, Tritonus - 아무것도 없습니다.

+0

해독하고 무엇을하고 싶습니까? 웨이브 파일로 저장 하시겠습니까? 스피커로 재생할 수 있습니까? –

+0

@VitalyPolonetsky 샘플을 배열에 저장하십시오. mp3 파일에서 모든 샘플을 가져올 수 있기를 바랍니다. – Albatross

+0

그래서 나중에 사용하기 위해 샘플을 저장하고 싶습니다 (아마도). 그러나 어떤 형식으로 샘플이 필요한가요? –

답변

4

나 자신을 알아 냈어.

Bitstream bitStream = new Bitstream(new FileInputStream("path/to/audio.mp3")); 

while(condition){ 
    Decoder decoder = new Decoder(); 
    int[] samples = decoder.decodeFrame(bitStream.readFrame(), bitStream); //returns the next 2304 samples 
    bitStream.closeFrame(); 

    //do whatever with your samples 
} 
+0

'조건'이란 무엇입니까? –

+0

원하는 것을 선택하십시오. 그것은 얼마나 많은 mp3가 디코딩되는지를 제어합니다. 따라서 전체 파일을 디코드하려는 경우 디코딩 할 샘플이 더 있는지 여부가 조건입니다. – Albatross

+0

@Albatross : 이것은 정말로 흥미 롭습니다. 이것이 인터넷을 통해 mp3를 스트리밍하는 데 사용될 수 있다고 생각하십니까? 그리고 그 후에 샘플을 어떻게 연주합니까? – dynamic