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

Jayme65 Messages postés 60 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 26 mars 2019 - 17 nov. 2012 à 18:45
 Utilisateur anonyme - 18 nov. 2012 à 00:34
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

Utilisateur anonyme
17 nov. 2012 à 22:45
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
0
Jayme65 Messages postés 60 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 26 mars 2019 2
17 nov. 2012 à 23:58
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?
0
Utilisateur anonyme
18 nov. 2012 à 00:34
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
0
Rejoignez-nous