Hallo Simon,
man könnte Dein Problem mit Hilfe des Windows-Media-Player-Controls lösen.
Und so fügt man es ein:
Menü Ansicht -> Symbolleisten -> Steuerelement -Toolbox anklicken
ganz unten rechts weitere Steuerelemente anklicken und in der Auswahlliste Windows Media Player anklicken und einfügen.
falls der Player unsichtbar sein soll mit der rechten Maustaste auf dem Player das Kontextmenü aufrufen und Eigenschaften anklicken
und bei uiMode invisible eintragen.
Du kannst auch die Funktion FindPlayer aus dem Beispiel nehmen um den Player einzufügen.
Hier ein Beispiel das zeigt, wie man den Player für Deine Zwecke verwenden könnte (auch mit Loop). Für das Beispiel brauchst
Du zusätzlich noch einen Button mit der Caption "Start" und eine CheckBox für die Loop.
Private LastState As Variant
Private LoopWanted As Boolean
Private Sub CheckBox1_Click()
LoopWanted = CheckBox1.Value
End Sub
Private Sub CommandButton1_Click()
Set wmp = FindPlayer
If CommandButton1.Caption = "Stop" Then
CommandButton1.Caption = "Start"
LastState = Empty
wmp.Controls.stop
wmp.URL = ""
Else
wmp.URL = "C:\Programme\OpenOffice.org 3\Basis\share\gallery\sounds\kongas.wav"
CommandButton1.Caption = "Stop"
wmp.Controls.Play
LastState = 3
End If
End Sub
' Loop
Private Sub WindowsMediaPlayer1_PlayStateChange(ByVal NewState As Long)
Set wmp = FindPlayer
If wmp.URL = "" Then Exit Sub
If NewState = 1 And Not IsEmpty(LastState) Then ' Media Ended and player ready
If LoopWanted = False Then
CommandButton1.Caption = "Start"
wmp.URL = ""
Else
wmp.Controls.Play
CommandButton1.Caption = "Stop"
End If
End If
If Not IsEmpty(LastState) Then LastState = NewState
End Sub
Public Function FindPlayer() As Object
Dim sh As Shape
For Each sld In ActivePresentation.Slides
For Each sh In sld.Shapes
If sh.Type = msoOLEControlObject Then
If TypeName(sh.OLEFormat.Object) = "WindowsMediaPlayer" Then
Set FindPlayer = sh.OLEFormat.Object
Exit Function
End If
End If
Next
Next
Set sh = ActiveWindow.Selection.SlideRange.Shapes.AddOLEObject(Left:=100, Top:=100, Width:=72, Height:=72, ClassName:="WMPlayer.OCX.7", Link:=msoFalse)
Set FindPlayer = sh.OLEFormat.Object
FindPlayer.uiMode = "invisible"
End Function
Grüße Lutz
|