Un My.Computer.Audio.Play et un My.Settings ensemble? [Résolu]

julien2424 76 Messages postés mardi 8 août 2006Date d'inscription 24 avril 2012 Dernière intervention - 21 juil. 2009 à 15:52 - Dernière réponse : julien2424 76 Messages postés mardi 8 août 2006Date d'inscription 24 avril 2012 Dernière intervention
- 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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 22 juil. 2009 à 14:31
3
Merci
[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 ?

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de PCPT
julien2424 76 Messages postés mardi 8 août 2006Date d'inscription 24 avril 2012 Dernière intervention - 22 juil. 2009 à 10:06
0
Merci
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
Commenter la réponse de julien2424
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 22 juil. 2009 à 13:18
0
Merci
salut,

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

[hr]
Commenter la réponse de PCPT
julien2424 76 Messages postés mardi 8 août 2006Date d'inscription 24 avril 2012 Dernière intervention - 22 juil. 2009 à 13:21
0
Merci
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
Commenter la réponse de julien2424
julien2424 76 Messages postés mardi 8 août 2006Date d'inscription 24 avril 2012 Dernière intervention - 22 juil. 2009 à 14:58
0
Merci
... ç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
Commenter la réponse de julien2424

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.