A partir de la fenêtre "2", lancer une procédure de lecture de son présente sur

Signaler
Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
-
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
-
Bonjour,

J'ai, dans ma fenêtre principale, une procédure de lecture de sons "interface".

Imports WMPLib

Public WithEvents Player As New WMPLib.WindowsMediaPlayer

PlayFile("c:\son1.wav")

Private Sub PlayFile(ByVal url As String)
  Player = New WMPLib.WindowsMediaPlayer
  Player.URL = url
  Player.controls.play()
End Sub


Il y a 8 sons au total, et ils doivent être aussi utilisé par d'autres fenêtre de mon apllication.
Le problème, c'est que je ne peux pas faire

MainWindow.PlayFile("c:\son1.wav")


Erreur: Reference to a non-shared member requires an object reference.

Ma question:
Comment puis je lancer des sons, dont toutes les procédures d'initialisation et de lecture sont présentes sur "MainWindow", depuis une autre fenêtre (pour éviter de devoir le refaire pour CHAQUE fenêtre)

Merci pour votre aide!!

3 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Bonsoir,

C'est quoi ce "PlayFile("c:\son1.wav")" en dehors d'une fonction/procédure ?

Met ta procédure PlayFile en Public au lieu de Private (accès restreint à la classe)

D'ailleurs, ou est la définition de la Class/Module ?

Pourquoi reconstruire le Player à chaque appel ? (ce n'est pas un erreur mais du bon sens)

_____________
Kenji
Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
2
Tout cela vient directement du centre de dévelopement de...Microsoft ;-)
http://msdn.microsoft.com/en-us/library/windows/desktop/dd562692%28v=vs.85%29.aspx

Merci pour ta réponse...peux tu m'en dire plus pour "solutionner" mon problème?
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
C'est sûr que si tu copie colle directement comme ca, ca va pas marcher.
Ca donne en gros :

Module Player

  Private WithEvents Player As WMPLib.WindowsMediaPlayer = New WMPLib.WindowsMediaPlayer

  Public Sub PlayFile(ByVal url As String)
    Player.URL = url
    Player.controls.play()
  End Sub

End Module


Et pour appeler depuis tes forms :
Player.PlayFile("c:\son1.wav")


_____________
Kenji