Lecture audio en java en utilisant Sun.audio


Je veux juste effectuer une tâche simple. (Je suis un java débutant). Je veux jouer un clip audio lorsqu'un bouton est cliqué. voici la partie de mon code (ce que j'ai fait exactement en copiant un tutoriel de Youtube.)

private void btnPlayActionPerformed(java.awt.event.ActionEvent evt) {                                         
InputStream in;
try{
      in=new FileInputStream(new File("C:\\Users\\Matt\\Documents\\dong.wav"));
      AudioStream timeupsound=new AudioStream(in);
      AudioPlayer.player.start(timeupsound);

}
catch(Exception e){
    JOptionPane.showMessageDialog(null, e);
}

}                                     

Mais le problème est que cela ne fonctionne pas. Il lance et IOException disant: "impossible de créer un flux audio à partir du flux d'entrée". Ma question est, ce que je fais mal? (comme j'ai clairement vu ce code fonctionner dans cette vidéo youtube, et j'ai utilisé le même code. S'il vous plaît aider. et une fois encore une fois, je suis un débutant);

Author: mattmorgan, 2014-01-23

1 answers

Les classes de package sun devraient provoquer des avertissements informatifs au moment de la compilation. En tenir compte. N'utilisez pas de classes dans cette hiérarchie de paquets. Ils ne sont pas documentés, ne sont pas garantis d'une version Java à l'autre et ne seront probablement pas du tout disponibles dans un JRE non Oracle.

Utilisez plutôt le Clip basé sur le son Java pour lire l'audio. Voir les informations . page pour des exemples de travail.

Note

Il se peut que le WAV soit codé dans un format qui sonne Java ne prend pas en charge. Les formats de médias sont généralement des "formats de conteneur" qui peuvent être codés à l'aide d'un nombre quelconque de codecs différents. Il est probable que WAV utilise un codec plus compressif tel que MP3 ou OGG en interne.

Je ne connais pas d'interface de fournisseur de services pour le format OGG, mais s'ils sont encodés en MP3, vous pourrez peut-être le faire fonctionner en utilisant le SPI MP3. Voir l'info. page liée ci-dessus pour plus de détails.

Astuce

Changez également le code du formulaire:

catch (Exception e) { .. 

À

catch (Exception e) { 
    e.printStackTrace(); // very informative! ... 
 2
Author: Andrew Thompson, 2017-05-23 11:44:13