Rechercher : dans
Par :

Perl lire un fichier son

Dernière réponse le 4 fév 2005 à 15:59:47 mail_pops, le 18 nov 2004 à 16:17:48 
 Signaler ce message aux modérateurs

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).

Meilleures réponses pour « Perl lire un fichier son » dans :
Perl - Les fichiers Voir La notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Fichier MP4 VoirFormat MP4 Un fichier MP4 est une vidéo compressée prévue pour pouvoir être lue en streaming. Lire un fichier MP4 Pour lire une vidéo au format MP4, il suffit d'utiliser un lecteur multimédia tel que Windows Media Player, ou son équivalent...

1

philtrain, le 18 nov 2004 à 21:24:40

Bonjour,

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

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

a+

Répondre à philtrain

2

mail_pops, le 19 nov 2004 à 10:45:49

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.

Répondre à mail_pops

3

 mail_pops, le 4 fév 2005 à 15:59:47

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...

Répondre à mail_pops