Lecteur musique : faire une barre de progression

Résolu
histl4000 Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   -  
histl4000 Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerai faire un "slider" qui me permettrai de voir et de changer la durée de la musique. Voici mon slider :

<Slider Width="100" Value="{Binding Test}"/>


En faisant ceci je sais démarrer à une seconde donnée :

public TimeSpan Test
{
get { return _controle.Position = TimeSpan.FromSeconds(50); }
set
{
_controle.Position = value;
//RaisePropertyChanged("Test");
}
}


Je sais pas comment m'y prendre. Donc je voudrai que la barre du slider bouge en fonction de la durée de la musique et je voudrai également pouvoir modifier le temps (exemple: passer de 1min à 2min). Est-ce qu'il y aurait moyen de le faire avec le pattern Observer si oui comment ?
Merci

A voir également:

1 réponse

Utilisateur anonyme
 
Bonsoir,
Ceci
        {
            get { return _controle.Position = TimeSpan.FromSeconds(50); }
ne peut pas marcher, et même Visual Studio devrait te signaler une erreur.
Cela fait quelques jours que tu postes des codes qui ne peuvent pas compiler, qui n’ont presque aucun sens.
Au risque de me répèter, prends le temps d’apprendre les bases de C#, ça t’evitera d’en perdre beaucoup plus (du temps) à bidouiller ou attendre une aide qu’un forum peut difficilement te donner.
Parce que contrairement à ce que tu crois, tu ne te débrouilles (encore) pas en C#.

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
0
histl4000 Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   3
 
D'accord. Mais le bout de code marche. Il n'y a pas d'erreur. Ma musique commence bien à la seconde 50.
Bonne soirée.
0
Utilisateur anonyme
 
Vérifie bien, si ton programme fonctione, alors tu n’as pas posté le bon code.
Ce qui est écrit au-dessus est contraire à la syntaxe de C#
0
histl4000 Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   3
 
Après vérification ce bout de code marchais bien. J'ai relu mes cours et effectivement il y avait un ou deux problèmes dans mon code que j'ai réglé. Par exemple, je faisais ceci dans mon viewmodel mediaElement = new mediaElement(); ce qui était totalement faux (selon la grille de mon projet). Du coup, j'ai créer la balise dans ma vue puis fais des binding :

<MediaElement Name="media" Source="{Binding Source}" LoadedBehavior="{Binding LoadedBehavior}" Volume="{Binding Volume}"/>

Je sais donc bien définir la source. Puis, je met LoadedBehavior en manuel pour pouvoir gérer les play, pause, etc. Et j'ai réussi a faire un slider pour gérer le volume. Par contre, je sais pas comment lier le bouton "play" (et les autres pause, stop,...) à la balise mediaElement. Pour le Volume j'avais fais un ElementName qui me permettait de lier le slider au volume de la musique mais pour les boutons ce n'est pas le même principe. Avez-vous une idée ?
0
Utilisateur anonyme > histl4000 Messages postés 129 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir, non là comme ça je n’ai pas d’idée et je suis en déplacement sans ordinateur, et je ne connais pas de site permettant de tester du wpf en ligne.


Par contre, je persiste, ça
public TimeSpan Test
        {
            get { return _controle.Position = TimeSpan.FromSeconds(50); }
c’est incohérent.
Un get doit retourner un résultat, dans ce cas un TimeSpan.
Or
 _controle.Position = TimeSpan.FromSeconds(50); 
ceci est une assignation, pas une « opération », ça ne retourne aucun résultat.
Associé à
return _controle.Position = TimeSpan.FromSeconds(50); 
C’est une erreur de syntaxe.
0
histl4000 Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour, je n'est plus ce bout de code dans mon projet
0