begin process at 2010 02 10 03:59:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

probleme trackbar et timer


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme trackbar et timer

jeudi 19 avril 2007 à 09:22:57 | probleme trackbar et timer

dehx

Salut !

je realise une application qui permet de lire des fichiers audio et video avec la classe AudioVideoPlayback (entre autres) du SDK de directX.

Mon probleme est que l'affichage du positionnement du déroulement du fichier est byzarre (je gere un trackbar en relation avec un timer).

Par exemple, je veux lire un fichier qui dure 1m28 s, je démarre la lecture et lorsque le fichier est terminé, le curseur n'atteint pas le maximum de la trackbar : il s'arrete a 1cm du minimum. Par contre lorsque je clique sur le trackbar, le curseur reprend un comportement normal et se deplace plus rapidement, et s'arrete au maximum du trackbar.

Voici mon code pour la relation timer et trackbar :

//evenement tick du timer
        private void timer_Tick(object sender, EventArgs e)
        {
            if (maVideo != null)
            {
                //on convertit en duré de secondes la position de la piste
                TimeSpan ts_Encours_asc = TimeSpan.FromSeconds(maVideo.CurrentPosition);

                //on soustrait la durée totale de la piste par sa position en cours pour réaliser un compte à rebour
                TimeSpan ts_Encours_des = TimeSpan.FromSeconds(maVideo.Duration) - ts_Encours_asc;
                //on applique la position de la piste a la valeur de la barre trackBar_play
                trackBar_play.Value = Convert.ToInt32(maVideo.CurrentPosition);

                //affichage
                lb_encours_asc.Text = ts_Encours_asc.ToString().Substring(0, 8);
                lb_encours_des.Text = ts_Encours_des.ToString().Substring(0, 8);
            }
            else if (monAudio != null)
            {
                TimeSpan ts_Encours_asc = TimeSpan.FromSeconds(monAudio.CurrentPosition);

                TimeSpan ts_Encours_des = TimeSpan.FromSeconds(monAudio.Duration) - ts_Encours_asc;

                trackBar_play.Value = Convert.ToInt32(monAudio.CurrentPosition);

                lb_encours_asc.Text = ts_Encours_asc.ToString().Substring(0, 8);
                lb_encours_des.Text = ts_Encours_des.ToString().Substring(0, 8);
            }
        }


//barre d'affichage de l'écoulement de la piste audio
        private void trackBar_play_Scroll(object sender, EventArgs e)
        {
            if (maVideo != null)
            {
                //permet de choisir la position de la lecture dans la durée de la piste
                maVideo.CurrentPosition = Convert.ToDouble(trackBar_play.Value);

                //définit la taille maximum de la barre par rapport a la durée de la piste
                trackBar_play.Maximum = Convert.ToInt32(maVideo.Duration);
            }
            else if (monAudio != null)
            {
                monAudio.CurrentPosition = Convert.ToDouble(trackBar_play.Value);
                trackBar_play.Maximum = Convert.ToInt32(monAudio.Duration);
            }
        }


et je démarre le timer des que le fichier est ouvert :

//démarrage du timer
                timer.Interval = 100;
                timer.Start();


Voila, si vous avez des réponses, merci d'avance


Cette discussion est classée dans : timer, encours, ts, trackbar, timespan


Répondre à ce message

Sujets en rapport avec ce message

Problème TimeSpan et Long [ par woot6768 ] Salut à tous,J'ai quelques petits soucis dans le code suivant : DateTime[] dates = new<font co Utiliser l'ActiveX de vlc en C# [ par fcolo ] Bonjour,je réalise une application de capture de flux vidéo.Pour pouvoir enregistrer ce flux, j'ai eu l'idée d'utiliser VLC (sous son activex) pour ré Timer évenements [ par djissi ] Bonjour j'ai un piti problème, dans mon projet, j'utilise une classe afin d'utiliser un timer pour chaque objet . La voici:using System;using</fo etat timer [ par cpadmin ] bonjour à tout le monde!voilà je voulais savoir si il était possible de récupèrer l'état d'un timer?Donc savoir si il est démarrer(start) ou arrèter(s Trackbar DotNET [ par Zap ] Je suis entrain de découvrir la version DotNET du contrôle trackbar sous C#.C'est une vrai catastrophe...Est-ce qu'il y a un moyen simple de remédier Objet Timer en C# [ par Bumcello ] Bonjour,Je souhaite récupérer le temps que va mettre l'instruction suivant grâce à l'objet Timer en mode console. Et le problème c'est que cela retour Détection USB, Timer ou Evènements ? [ par Moomoon07 ] Salut !J'aurais besoin d'un petit coup de main.Je souhaiterais afficher dans un datagridView la liste des clefs USB, dont le nom de volume est AMIDISK TransactionScope et Oracle [ par keskispas ] Bonjour tout le monde !J'essaye de tester la prise en charge des transactions en C# sous Oracle.Le problème c'est ma transaction, même volontairement Soucis de communication entre 2 forms [ par sandra26 ] Salut, Jai un petit soucis qui je suis sûre nest pas si grave.Voila jai 2 formulaires, le premier est le principal , dans celui ci jai creé une foncti Timer...perdu [ par mckilleron ] Bonjour, j'aimerai savoir comment en c# console créer un timer pour temporiser une action(c'est a dire que le programme attende 1 seconde avant de pas


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales