Bonjour,

Mon projet est de lire (audio) les phrases d'un fichier tout en affichant simultanément la phrase écoutée. Cela me permettra aussi de mettre une pause ou de réécouter la phrase prononcée.

La class
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Imports System.Speech.Synthesis
Public Class Class1
    Private _mTexte As String
    ' Déclare un évènement
    Public Event SpeakStarted()
    Public Property speak()
        Get
            Return _mTexte
        End Get
        Set(ByVal Value)
            If Value <> _mTexte Then
                RaiseEvent SpeakStarted()
            End If
            _mTexte = Value
        End Set
    End Property
End Class

Dans la form
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Imports System.Speech.Synthesis
 
Public Class speak
 
    Public WithEvents m As Class1
    Private speak As New SpeechSynthesizer
 
    Public Event SpeakStarted As EventHandler(Of SpeakCompletedEventArgs)
 
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        speak.SpeakAsync("phrase a dire")
    End Sub
 
    Private Sub speak_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim speak As New Class1
    End Sub
    Private Sub speak_speakstarted(ByVal v As String) Handles speak.SpeakStarted
        MsgBox("phrase que je dit")
    End Sub
End Class


J'ai trouvé événement SpeakStarted de l'objet SpeechSynthesizer mais j'ai une erreur dans le Handles speak.SpeakStarted

La clause Handles requiert une variable WithEvents définie dans le type conteneur ou l'un de ses types de base.
Merci d'avance!