1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

Résolu Java : enregistrer le son du micro + l'ecrire dans un fichier wav

Discussion dans 'Résolu' créé par I AteK I, 20 Mai 2016.

Nous vous conseillons de vérifier au préalable le contenu que vous téléchargez.
Si un lien de téléchargement ne fonctionne plus, merci de signaler le topic en question !

  1. I AteK I

    I AteK I Visiteur Visiteur

    0
    0
    0
    salut,
    Je voudrais enregistrer le son du micro puis l enregistrer dans un fichier wav le soucis c'est que quand j'essai d'écouter le fichier wav cela me met fichier illisible :/

    code source pour enregistrer le son du micro :
    Code:
    TargetDataLine line;
            long end = System.currentTimeMillis() + DurationTime;
            try {
                line = AudioSystem.getTargetDataLine(null);
                line.open();
    
    
                ByteArrayOutputStream out  = new ByteArrayOutputStream();
                int numBytesRead;
                data = new byte[line.getBufferSize() / 5];
    
                line.start();
    
                while (System.currentTimeMillis() <= end) {
                    numBytesRead =  line.read(data, 0, data.length);
                    out.write(data, 0, numBytesRead);
                }
            } catch (LineUnavailableException e) {
                e.printStackTrace();
            }
    celui pour écrire dans le fichier wav :
    Code:
            BufferedOutputStream bos = null;
            try {
                String txtDate = new SimpleDateFormat("dd/MM/yyyy/hh/ss", Locale.FRANCE).format(new Date());
                File file = new File("ListenFile" + txtDate +".wav");
                if(!file.exists()) {
                    file.createNewFile();
                }
                FileOutputStream fos = new FileOutputStream(file);
    
                bos = new BufferedOutputStream(fos);
    
                System.out.println("Writing byte array to file");
    
                bos.write(data);
    
                System.out.println("File written");
            } catch(IOException e) {
                e.printStackTrace();
            }
            finally {
                if(bos != null) {
                    try {
                        bos.flush();
                        bos.close();
                    } catch(Exception e){
                        e.printStackTrace();
                    }
                }
            }
     

Partager cette page

Sécurité du site Web