0
J'utilise son java avec le code suivant:Existe-t-il un moyen de faire JavaSound pour utiliser les codecs installés sur votre SO?
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();
}
Mais pour jouer mp3, tihs exige que je SPI sur mon chemin de classe ... son ok, barbante que je cherchais un moyen d'utiliser la codecs installés dans le SO. Y a-t-il un moyen de faire cela?
Je vois ... mais vous n'utilisez pas le codec de SO. Vous utilisez un SPI dans votre classpath comme je l'ai fait. J'essayais de le faire fonctionner avec le codec de SO déjà installé – fredcrs