Un My.Computer.Audio.Play et un My.Settings ensemble?

Résolu
julien2424 Messages postés 76 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 avril 2012 - 21 juil. 2009 à 15:52
julien2424 Messages postés 76 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 avril 2012 - 22 juil. 2009 à 14:58
Bonjour à tous,

Je reviens avec un nouveau problème, qui me parait toujours insoluble, mais j'espère que parmis vous, certains, auront la réponse à ce soucis.

Au lancement de mon application, le programme lance une musique avec cette méthode:
My.Computer.Audio.Play("C:\Windows\JM Créations\medias\Logon.wav")


Dans un form "options", j'ai décidé de paramétrer le fait que le programme puisse émettre un son au démarrage et à l'arrêt avec une CheckBox.
Cependant je n'arrive pas à utiliser la méthode My.Settings pour My.Computer.Audio.Play

Comment indiquer à l'ordinateur que... si dans la form "Options", la checkbox "musique" est coché, alors à l'arrêt et au démarrage un son sera émis et inversement?
Voila ce qui me pose probleme...

Bonne après-midi à tous
Merci d'avance

Jules

5 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 juil. 2009 à 14:31
[quote= julien2424]My.Computer.Audio.Play(Audio_Play) = My.Settings.Audio_Play/quoteattends tu mélanges 2 choses là...
play c'est pour lire. tu ne fais aucun test là!
(audio_play) ne vaut rien à cet endroit, il doit être précédé de my.settings, et tu lis quoi, un booléen?

2 choses :
1. lire valeur bool
2. si true, joue son
et comme un son avec un chemin en dur c'est moyen, autant mettre le son en ressource

[hr]pas à pas[hr


nouveau projet vb2008 nommé testSettings
(une Form1 par défaut)
2e form nommée frmOptions



je sélectionne le projet > propriété >



clé
onglet paramètres
je crée une clé audio_play boolean à false




ressource
onglet ressources > ajouter une ressource > fichier existant
(sélectionne ton wav) je mets tada.wav (windows\media), que je renomme load_logon





param appli (pour l'exemple, pour ne pas fermer l'appli lors de la fermeture de la Form1)
onglet application > mode d'arrêt > à la fermeture du dernier formulaire




on sauve le projet.



Form1, je pose un button par défaut
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'chargement de la form, on lit le boolean
        If My.Settings.audio_play Then
            'on doit jouer, on l'écrit en titre et on joue la ressource
            Me.Text   = "un son va être joué"
            My.Computer.Audio.Play(My.Resources.load_logon, AudioPlayMode.Background)
        Else
            'on indique qu'on ne joue rien, pour le test
            Me.Text =  "pas de son au démarrage"
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'au click, on masque la frm1 et on affiche frmoptions
        'c'est elle qui va réouvrir la form1 à sa fermeture, pour repasser dans le load
        Me.Hide()
        frmOptions.Show()
        Me.Close()
    End Sub
End Class



frmOptions, je pose une checkbox par défaut
Public Class frmOptions
    Private Sub frmOptions_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'au chargement de la form, la check prend l'état des param
        CheckBox1.Checked  = My.Settings.audio_play
    End Sub
    Private Sub CheckBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.Click
        'on change le param lors du click
        My.Settings.audio_play =  CheckBox1.Checked
    End Sub
    Private Sub frmOptions_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        'on ouvre la fenêtre principale à la fermeture de celle d'options
        'en cas réel, frmoption est ouverte en modal et on applique sur un click bouton
        Form1.Show()
    End Sub
End Class



F5 => magie

à noter que la totalité des manipulations à faire pour y arriver (y compris projet > propriétés etc..) était indiquée dans la msdn, touche F1


çà donne quoi ?
3
julien2424 Messages postés 76 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 avril 2012
22 juil. 2009 à 10:06
Rebonjour,

Voici une de mes ligne dans la form1 Load...

My.Computer.Audio.Play(Audio_Play) = My.Settings.Audio_Play


C'est impossible d'après Visual

Bonne journée à tous
Jules
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 juil. 2009 à 13:18
salut,

quel est le code d'écriture dans my.settings depuis frmoptions?

[hr]
0
julien2424 Messages postés 76 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 avril 2012
22 juil. 2009 à 13:21
Dans la form "Options", le code qui s'exécute quand je clique sur ok est:

My.Settings.audio_play = musique.Checked
My.Settings.Save()
fenetre1.My.Computer.Audio.Play = My.Settings.audio_play

Cependant, je n'arrive pas à lier le fameux My.Settings à Audio.Play. La dernière ligne: "fenetre1.My.Computer.Audio.Play" est souligné dans Visual comme une erreur.
DOnc impossible d'aller plus loin.

Merci d'avance
Jules
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
julien2424 Messages postés 76 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 avril 2012
22 juil. 2009 à 14:58
... ça donne tout simplement un GRAND MERCI!
ça marche parfaitement bien, j'ai compris en plus ce que je faisais, et ton explication étape par étape est très accessible, même pour mon niveau.

Puis en plus, je viens de découvrir le F1 de VisualStudio ^^!

Merci encore
Bonne après-midi

Jules
0
Rejoignez-nous