Perl lire un fichier son

Résolu
mail_pops -  
mail_pops Messages postés 6 Statut Membre -
Bonjour,

Je cherche en vain à lire un fichier son dans une application perl Tk.
La seule réponse du système est de m'aggresse d'un biiippp de mécontentement.

Voici mon code actuel :
	if (open(AUDIO, "<$mon_fichier")) {  
 		my $amt;
		my $data;
		while(($amt = sysread(AUDIO, $data, 4096)) > 0) {
			syswrite(STDOUT, $data, $amt);  
		}        
		close(AUDIO);
	} else {  
		die("Cannot open $mon_fichier\n");  
	}  


Quelqu'un a-t-il la réponse à ma question ?
D'avance, merci.

PS : Mon fichier est un .vox (un .wave ne passe pas non plus).

3 réponses

  1. philtrain
     
    Bonjour,

    peut-être quand ouvrant correctement le fichier son en lecture :
    open(AUDIO, ">$mon_fichier")

    au lieu de open(AUDIO, "<$mon_fichier")

    a+
    0
  2. mail_pops Messages postés 6 Statut Membre
     
    Bonjour,

    Il me semble que si je mets
    open(AUDIO, ">$mon_fichier") 
    j'ouvre mon fichier en écriture. Par contre tu as raison, il est plus correct de mettre
    open(AUDIO, "$mon_fichier") 
    sans aucun signe.
    Mais cela ne change rien.
    Il semblerait que mon fichier s'ouvre bien, mais que le problème se situe au niveau de l'écriture avec syswrite (faut-il vraiment l'envoyer sur la sortie standard ? Tout est envoyé sur la console...).

    Merci.
    0
  3. mail_pops Messages postés 6 Statut Membre
     
    Je retombe pas hasard sur cet ancien post et en profite pour vous donner la réponse, trouvée depuis :

    use Win32::Sound;
    
    sub read_audio {  
    	Win32::Sound::Play("sons/$mon_fichier.wav");
    }
    


    Voilà, comme quoi, tout est prévu...
    0