Menu

Lecteur musique : faire une barre de progression [Résolu/Fermé]

Messages postés
130
Date d'inscription
lundi 3 juillet 2017
Statut
Membre
Dernière intervention
12 juillet 2018
-
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

Afficher la suite 

1 réponse

Messages postés
13449
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 juin 2019
347
0
Merci
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
histl4000
Messages postés
130
Date d'inscription
lundi 3 juillet 2017
Statut
Membre
Dernière intervention
12 juillet 2018
-
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 ?
Whismeril
Messages postés
13449
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 juin 2019
347 > histl4000
Messages postés
130
Date d'inscription
lundi 3 juillet 2017
Statut
Membre
Dernière intervention
12 juillet 2018
-
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.
histl4000
Messages postés
130
Date d'inscription
lundi 3 juillet 2017
Statut
Membre
Dernière intervention
12 juillet 2018
-
Bonjour, je n'est plus ce bout de code dans mon projet
histl4000
Messages postés
130
Date d'inscription
lundi 3 juillet 2017
Statut
Membre
Dernière intervention
12 juillet 2018
-
Est-ce que vous connaissez une bibliothèque qui me permettrai de gerer les musiques via une balise comme un peu mediaElement mais adapter au MVVM ? (MediaElement ne dispose pas vraiment de control a part le volume)
histl4000
Messages postés
130
Date d'inscription
lundi 3 juillet 2017
Statut
Membre
Dernière intervention
12 juillet 2018
-
j'ai trouvé, mediaPlayer réponds bien à mes exigences.