Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Profil pro med971
    Inscrit en
    novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Nom : med971

    Informations forums :
    Inscription : novembre 2010
    Messages : 7
    Points : 3
    Points
    3

    Par défaut [Mono] Comment lire un son WAV pendant une durée à préciser sur linux ?

    Bonjour à tous,
    Je programme en C# sous linux(avec mono),et depuis quelques jours je sèche sur cette question:"Comment lire un son WAV pendant une durée à préciser sur linux?"
    J'ai un code qui fonctionne à peu près (ça toussote,la lecture n'est pas correcte),le voici:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private void Form1_Load(object sender, EventArgs e)
            {
                SoudPlayer s = new SoundPlayer();
                s.SoundLocation = @"/home/moi/Musique/mon_son.wav";
                s.Play();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                s.Stop();
            }
    En fait je voudrais aussi supprimer le clic sur le bouton,pour que ça soit plus automatique,je crois que c'est quelque chose du genre Thread.Sleep(200); que je dois rajouter mais je suis un peu paumée je n'avance pas

    Merci de m'aider

  2. #2
    Membre du Club

    Inscrit en
    octobre 2010
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : octobre 2010
    Messages : 50
    Points : 60
    Points
    60

    Par défaut

    Tu peux utiliser System.Timers.Timer pour déclencher un évènement à intervalle régulier.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    using System;
    using System.Media;
    using System.Timers;
     
     
    class Program
    {
    	static SoundPlayer player;
    	static void Main()
    	{
    		player = new SoundPlayer("asound.wav");
    		player.PlayLooping();
    		var timer = new Timer(1000);
    		timer.Elapsed += OnTimedEvent;
    		timer.Start();
     
    		Console.ReadKey();
    	}
     
     
    	static void OnTimedEvent(object sender, ElapsedEventArgs e)
    	{
    		player.Stop();
    		((Timer)sender).Stop();
    	}
    }

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •