- Offizieller Beitrag
Welche AutoIt-Version nutzt du?
Update bitte ggf. auf 3.3.0.0.
peethebee
Welche AutoIt-Version nutzt du?
Update bitte ggf. auf 3.3.0.0.
peethebee
bei mir kommt auuch nix vielleicht stimmt der pfad nicht
Welche AutoIt-Version nutzt du?
Update bitte ggf. auf 3.3.0.0.peethebee
hi pee...
AutoIt v3.3.0.0 vom 24th December, 2008
Daran kanns nicht liegen. Die Datei ist auch vorhanden und korrekt benannt. Mhhh ... komisch.
Naja nicht ganz so wichtig, wäre halt ganz nett gewesen wenns funzt
Was meinste überhaupt zu den beiden sound versionen?
Hier nochmal beide versionen ... welche ist die bessere bezüglich des sounds?
Version1:
#include <Misc.au3>
#include <Sound.au3>
$dll = DllOpen("user32.dll")
[/autoit] [autoit][/autoit] [autoit]While 1
If WinActive("MAGIX Video") Then
If _IsPressed("A3", $dll) Then
$pos = MouseGetPos()
MouseClick("left", 1595, 390, 1, 0)
MouseMove($pos[0], $pos[1], 0)
$sound = _SoundOpen(@WindowsDir & "\media\Windows-Standard.wav", "Windows-Standard")
_SoundPlay($sound, 0)
_SoundClose($sound)
Sleep (1000)
EndIf
EndIf
Sleep (50)
WEnd
Version2:
#include <Misc.au3>
#include <Sound.au3>
$dll = DllOpen("user32.dll")
[/autoit] [autoit][/autoit] [autoit]While 1
If WinActive("MAGIX Video") Then
If _IsPressed("A3", $dll) Then
$pos = MouseGetPos()
MouseClick("left", 1595, 390, 1, 0)
MouseMove($pos[0], $pos[1], 0)
SoundPlay(@WindowsDir & "\media\Windows-Standard.wav",0)
Sleep (1000)
EndIf
EndIf
Sleep (50)
WEnd
Hallo Eugen,
Die bisherigen Versionen funktionieren bei mir nicht, dafür aber das Beispiel in der deutschen Hilfe
#include <Sound.au3>
[/autoit] [autoit][/autoit] [autoit]; Öffne Sound-Datei
$sound = _SoundOpen(@WindowsDir & "\media\notify.wav", "Notify")
If @error = 2 Then
MsgBox(0, "Fehler", "Die Datei existiert nicht.")
Exit
ElseIf @error = 3 Then
MsgBox(0, "Fehler", "Der Aliasname ist ungültig.")
Exit
ElseIf @extended <> 0 Then
$extended = @extended ; Zuweisung, weil @extended nach DllCall-Aufruf geändert wird
$stText = DllStructCreate("char[128]")
$errorString = DllCall("winmm.dll", "short", "mciGetErrorStringA", "str", $extended, "ptr", DllStructGetPtr($stText), "int", 128)
MsgBox(0, "Fehler", "Öffnen fehlgeschlagen." & @CRLF & "Fehlernummer: " & $extended & @CRLF & "Fehlerbeschreibung: " & DllStructGetData($stText, 1) & @CRLF & "Beachte: Möglicherweise kann der Sound dennoch korrekt abgespielt werden.")
Else
MsgBox(0, "Erfolgsmeldung", "Die Datei wurde erfolgreich geöffnet.")
EndIf
_SoundPlay($sound, 1)
_SoundClose($sound)
[/autoit]ich hoffe das klappt bei dir auch,
mfg (Auto)Bert
Ahhhh !!!
Bert du bist die Rettung
Bzw hast du dazu beigetragen, dass ich jetzt weiss wieso die anderen Versionen nicht funktionieren KONNTEN!
Ich hab nämlich das Beispiel aus der Hilfe auch mal 1:1 benutzt und es GING!
Ich wunderte mich nur darüber das es ging, da ich gar keine notify.wav unter /media hatte!!!
Schaut euch das Bild mal an (und bedenkt das ich "Dateiname" erst jetzt aktiviert habe)
und dann wisst ihr wieso es trotzdem ging und wieso die anderen 2 Lösungen gar nicht gehen konnten
Funktioniert jetzt also alles 100% und super, genau so wie ich es wollte - danke an alle!
Mich würde nur noch Interessieren was die Pro's vorschlagen welche Version (siehe vorletzter Post) denn jetzt der "richtige"/bessere Ansatz ist.
Hallo Eugen,
freut mich das ich helfen konnte, hab mir damit anscheinend meine Hochstufung zum Lernenden (*) verdient zumindest fällt es mir das 1. Mal auf. Danke @Moderatoren
mfg (Auto)Bert
Hallo Bert!
Nunja, ich glaube kaum, dass dein Forumsstatus von der Willkür eines Mods abhängt...
... wohl eher von der Anzahl der von dir erstellten Postings und ich gehe davon aus das du schon seit deinem 50. Post ein Lernender bist
Mich würde nur noch Interessieren was die Pro's vorschlagen welche Version (siehe vorletzter Post) denn jetzt der "richtige"/bessere Ansatz ist.
Zum abspielen von solchen kurzen (Windows-)Sounds würde ich immer SoundPlay benutzen.
Allerdings würde ich das etwas ändern:
#include <Misc.au3>
#include <Sound.au3>
$dll = DllOpen("user32.dll")
[/autoit] [autoit][/autoit] [autoit]While 1
If WinActive("MAGIX Video") Then
If _IsPressed("A3", $dll) Then
$pos = MouseGetPos()
MouseClick("left", 1595, 390, 1, 0)
MouseMove($pos[0], $pos[1], 0)
SoundPlay(@WindowsDir & "\media\Windows-Standard.wav", 1)
EndIf
EndIf
Sleep(50)
WEnd
Also mit ",1" am Ende, sodass SoundPlay auf das Abspielende wartet. Das spart Dir in diesem Fall das anschließende Sleep.