[autoit]
#include <Sound.au3>
[/autoit]
#include <Sound.au3>
[/autoit]
geht doch ...
#include <Sound.au3>
FileInstall("C:\WINDOWS\Media\tada.wav",@TempDir & "\autoit.wav")
$snd = _SoundOpen(@TempDir & "\autoit.wav")
_SoundPlay($snd,1)
_SoundStop($snd)
_SoundClose($snd)
FileDelete(@TempDir & "\autoit.wav")
[/autoit]boah perfekt läuft XD danke^^
aber man kanns nicht beenden so lange das lied läuft O.o
kann man auch auf repeat stellen das es ewig weiteläuft bis ich ne taste drück die das lied beendet?
vielen dank
neo
Schau dir halt mal die _Sound-Funktionen in der Hilfe an
weisst du wenn mans nicht so gut kann isses schwer auf englisch zu peilen wie das funzt xD ich guck schon in die hilfe aber is halt bissl schwer wenn man noch in den kinderschuhen einer materie steckt
ty
neo
In SoundPlay wait auf 0 setzen -> Script läuft weiter
Loop: _SoundStatus -> Abfragen, ob der Sound gestoppt ist, dann neu starten
in Func OnAutoItExit() muss dann _SoundStop und _SoundClose
Hotkeyset ("{F1}","Endsound")
Func Endsound()
_SoundStop($snd)
_SoundClose($snd)
Endfunc
so müsste die Function aussehen das man mit F1 den Sound beendet oder?
denn so funktioniert es nicht.
push ist das so richtig?
Das was du gepostet hast ist wohl richtig, aber vielleicht ist wo anders nen Fehler? Ich würde sagen poste doch mal den kompletten Quelltext, nimmt ja nicht viel Platz weg wenn du den Spoiler benutzt.
Das is der komplette Quelltext
#include <Sound.au3>
HotKeySet ("{F1}","sound")
HotKeySet("{F2}","endsound")
while 1
WEnd
Func sound()
FileInstall("C:\Dokumente und Einstellungen\xNeox\Desktop\Testsong.mp3",@TempDir & "\Testsong.mp3")
$snd = _SoundOpen(@TempDir & "\Testsong.mp3")
_SoundPlay($snd,0)
FileDelete(@TempDir & "\Testsong.mp3")
EndFunc
Func endsound()
_Soundstop ($snd)
_SoundClose($snd)
EndFunc
_SoundPlay($snd,0)
[/autoit]
Du hast eingestellt, dass dein Skript weiterläuft. Somit wird direkt nach Play-Start die abzuspielende Datei in der Folgezeile gelöscht
FileDelete(@TempDir & "\Testsong.mp3")
[/autoit]
Führe das FileDelete erst in der Funktion endsound() aus. (Variablen deklarieren, damit sie von beiden Funktionen erkannt werden)
jetzt tut sich garnix mehr wenn ich F2 drück XD
[autoit]#include <Sound.au3>
HotKeySet ("{F1}","sound")
HotKeySet("{F2}","endsound")
while 1
WEnd
Func sound()
FileInstall("C:\Dokumente und Einstellungen\xNEox\Desktop\Testsong.mp3",@TempDir & "\Testsong.mp3")
$snd = _SoundOpen(@TempDir & "\Testsong.mp3")
_SoundPlay($snd,0)
EndFunc
Func endsound()
$snd = _SoundOpen(@TempDir & "\Testsong.mp3")
_Soundstop ($snd)
_SoundClose($snd)
FileDelete(@TempDir & "\Testsong.mp3")
EndFunc
Ah, du hast editiert. Somit ist mein Post hinfällig
Momentan fällt mir nix ein - zu heiß!!
#include <Sound.au3>
HotKeySet ("{F1}","sound")
HotKeySet("{F2}","endsound")
while 1
WEnd
Func sound()
FileInstall("C:\Dokumente und Einstellungen\xNEox\Desktop\Testsong.mp3",@TempDir & "\Testsong.mp3")
$snd = _SoundOpen(@TempDir & "\Testsong.mp3")
_SoundPlay($snd,0)
EndFunc
Func endsound()
_Soundstop ($snd)
_SoundClose($snd)
FileDelete(@TempDir & "\Testsong.mp3")
EndFunc
müsste doch gehn oder? ohne nochmal den sound zu öffnen xD
$snd = _SoundOpen(@TempDir & "\Testsong.mp3")
[/autoit]das definiert nur $snd
#include <Sound.au3>
HotKeySet ("{F1}","sound")
HotKeySet("{F2}","endsound")
while 1
WEnd
Func sound()
FileInstall("C:\Dokumente und Einstellungen\xNEox\Desktop\Testsong.mp3",@TempDir & "\Testsong.mp3")
$snd = _SoundOpen(@TempDir & "\Testsong.mp3")
_SoundPlay($snd,0)
EndFunc
Func del()
FileDelete(@TempDir & "\Testsong.mp3")
EndFunc
Func endsound()
$snd = _SoundOpen(@TempDir & "\Testsong.mp3")
_Soundstop ($snd)
If _SoundClose($snd) Then del()
EndFunc
jetzt aber
kommt aufs selbe raus ist nur umständlicher
Dein Fehler ist, dass Du $snd innerhalb einer Funktion definierst. Somit ist es eine lokale Variable und Du kannst in einer anderen Funktion nicht mehr darauf zugreifen.
Entweder benutzt Du einen Alias (siehe Hilfe) oder Du deklarierst die Variable $snd als Global.
#include <Sound.au3>
HotKeySet ("{F1}","sound")
HotKeySet("{F2}","endsound")
Global $snd
while 1
WEnd
Func sound()
FileInstall("C:\Dokumente und Einstellungen\xNeoX\Desktop\Blub.mp3",@TempDir & "\Blub.mp3")
$snd = _SoundOpen(@TempDir & "\Blub.mp3")
_SoundPlay($snd,0)
EndFunc
Func endsound()
$snd = _SoundOpen(@TempDir & "\Blub.mp3")
_Soundstop ($snd)
_SoundClose($snd)
FileDelete(@TempDir & "\Blub.mp3")
EndFunc
so global ist gesetzt aber es geht nicht zu alias finde ich nix in der hilfe