0
다음 코드와 자바 사운드를 사용하고 있습니다 :SO에 설치된 코덱을 사용하도록 JavaSound를 만드는 방법이 있습니까?
public static void main(String[] args) throws Exception
{
JFrame frame = new JFrame();
frame.setSize(200,200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
JFileChooser fc = new JFileChooser();
fc.showOpenDialog(null);
File f = fc.getSelectedFile();
AudioInputStream ais = AudioSystem.getAudioInputStream(f);
AudioFormat format = ais.getFormat();
AudioFormat decodedFormat = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED, // Encoding to use
format.getSampleRate(), // sample rate (same as base format)
16, // sample size in bits (thx to Javazoom)
format.getChannels(), // # of Channels
format.getChannels()*2, // Frame Size
format.getSampleRate(), // Frame Rate
false // Big Endian
);
SourceDataLine line = AudioSystem.getSourceDataLine(decodedFormat);
AudioInputStream dais = AudioSystem.getAudioInputStream(decodedFormat, ais);
line.open(decodedFormat);
line.start();
byte[] b = new byte[1024];
int i=0;
while(true)
{
i = dais.read(b, 0, b.length);
if(i == -1)
break;
line.write(b, 0, i);
}
line.drain();
line.stop();
line.close();
ais.close();
dais.close();
}
그러나 MP3 재생, tihs 내가이를 사용하는 방법을 찾고 있었다 입력해도, 내 클래스 경로 ...에 자사의 확인을는 SPI 있어야합니다 코덱은 SO에 설치됩니다. 그럴 수있는 방법이 있습니까?
나는 본다. 그러나 당신은 SO 코덱을 사용하지 않고있다. 내가했던 것처럼 클래스 패스에서 SPI를 사용하고 있습니다. 내가 이미 설치 한 SO 코덱과 함께 작동하도록 만들려고했다. – fredcrs