Audiodatei Abspielen wenn Button.Click

13/10/2007 - 15:11 von Markus | Report spam
Hallo

Wie kann ich verhindern, dass beim Click wàhrend der Wiedergabe auf mein
mButton die AudioDatei.wav nicht nach WaitToComplete nochmal abgespielt wird?

Private Sub mButton_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mButton.Click
RemoveHandler mButton.Click, AddressOf mButton_Click
Dim AudioQuelle As IO.Stream =
(My.Resources.ResourceManager.GetStream("AudioDatei.wav"))
My.Computer.Audio.Play(AudioQuelle, AudioPlayMode.WaitToComplete)
AudioQuelle = Nothing
AddHandler mButton.Click, AddressOf mButton_Click
End Sub

Der Click auf mButton wird irgendwie gepuffert und sobald ein Handle Add'ed
ist làuft die AudioDatei.wav nochmal!

Wenn ich AudioPlayMode auf Background umstelle sind bei der Wiedergabe
gràssliche Geràusche zu hören sobald weitere Ressourcen z.B. Grafiken
verwendet werden.

Ich habe gelesen, dass man mit DirectX mehrere Audiodateien gleichzeitig
abspielen kann. Schön und gut aber meine Audiodateien befinden sich in den
Programm-Ressourcen. Wie kann man ein Stream abspielen?

Dim AudioQuelle As Audio
AudioQuelle(“C:\ AudioDatei.wav“) ‘ funktioniert
‘ AudioQuelle = ??? My.Resources.ResourceManager.GetStream("AudioDatei.wav")
AudioQuelle.Play()
AudioQuelle = Nothing ' Geht das wenn die Datei noch abgespielt wird?

Dankeschön!
Markus K.
 

Lesen sie die antworten

#1 Oliver Tell
13/10/2007 - 15:59 | Warnen spam
"Markus" wrote:

Hallo

Wie kann ich verhindern, dass beim Click wàhrend der Wiedergabe auf mein
mButton die AudioDatei.wav nicht nach WaitToComplete nochmal abgespielt wird?

Private Sub mButton_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mButton.Click
RemoveHandler mButton.Click, AddressOf mButton_Click
Dim AudioQuelle As IO.Stream =
(My.Resources.ResourceManager.GetStream("AudioDatei.wav"))
My.Computer.Audio.Play(AudioQuelle, AudioPlayMode.WaitToComplete)
AudioQuelle = Nothing
AddHandler mButton.Click, AddressOf mButton_Click
End Sub

Der Click auf mButton wird irgendwie gepuffert und sobald ein Handle Add'ed
ist làuft die AudioDatei.wav nochmal!

Wenn ich AudioPlayMode auf Background umstelle sind bei der Wiedergabe
gràssliche Geràusche zu hören sobald weitere Ressourcen z.B. Grafiken
verwendet werden.

Ich habe gelesen, dass man mit DirectX mehrere Audiodateien gleichzeitig
abspielen kann. Schön und gut aber meine Audiodateien befinden sich in den
Programm-Ressourcen. Wie kann man ein Stream abspielen?

Dim AudioQuelle As Audio
AudioQuelle(“C:\ AudioDatei.wav“) ‘ funktioniert
‘ AudioQuelle = ??? My.Resources.ResourceManager.GetStream("AudioDatei.wav")
AudioQuelle.Play()
AudioQuelle = Nothing ' Geht das wenn die Datei noch abgespielt wird?

Dankeschön!
Markus K.





Ich bin mir nicht ganz sicher, was du genau zu erreichen versuchst. Aber
probier doch einfach mal dieses kurze Code Beispiel aus:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Button2.Enabled = False
My.Computer.Audio.Play(My.Resources.Windows_XP_Anmeldesound,
AudioPlayMode.WaitToComplete)
End Sub

Der Einfachkeit halber habe ich den Windows XP Anmeldesound meinem Projekt
als Resource hinzugefügt. Wenn du Audiodateien direkt abspielen möchtest
(ohne Sie den Resourcen hinzu zu fügen) solltest du Sie erst komplett in den
Speicher laden, bevor du mit dem Abspielen beginnst.
Wenn Du dann noch zusàtzlich Bilder anzeigen möchtest, auch diese bitte
zuerst in den Speicher laden, dann erst anzeigen.
Wenn dein Computer generell Probleme mit multimedialen Inhalten hat (z.B.
Bildruckler oder Tonaussetzer) solltest du für eine saubere
Systemkonfiguration sorgen.
Ansonsten könntest du in der Tat einen Blick auf DirextX werfen da dieses
nach meinen Erkenntnissen erheblich besser für multimediale Inhalte geeignet
ist als die Bordmittel von VB und .Net 2.

Ähnliche fragen