Also vielen Dank alpines, du hilfst mir echt immer sehr!
Ich hab mir die _BASS_EXT_BPMBEATPROC jetzt zurechtgeschrieben... und tadaa es funktioniert wie gewünscht!
Also vielen Dank alpines, du hilfst mir echt immer sehr!
Ich hab mir die _BASS_EXT_BPMBEATPROC jetzt zurechtgeschrieben... und tadaa es funktioniert wie gewünscht!
Ich hab mir jetzt die Funktionen der Bass UDF jetzt mal genauer angeschaut:
In Frage käme vll die _BASS_EXT_Level2dB Funktion, aber wirklich das was ich gesucht hab, hab ich immer noch nicht gefunden. Kann ich iwie die Basswelle aus dem Channel rausfiltern, da ich ja wirklich nur die Beats brauche?
#include <AutoItConstants.au3>
Local $sOutput
$hStatus = Run(@ComSpec & " /c netsh interface show interface name=Ethernet", "", "", $STDOUT_CHILD)
While 1
$sOutput &= StdoutRead($hStatus)
If @error Then ExitLoop
WEnd
MSgbox(0, "Meldung netsh", $sOutput)
1. bei run kein "k" sondern "c" für engl. command nach @Comspec verwenden.
2. Dein Fehler: Du hast das @SW_MINIMZE (, dass du egtl. nicht brauchst) in die Parametervariable workingDir anstatt show_flag eingesetzt. Das hat da nichts zu suchen.
EDIT: Sorry alpines, falls ich zu schnell war
Mhh ja... was ist wenn ich den Sound jetzt direkt über mein AutoIt Programm abspiele? Kann ich dann auf den Output zugreifen?
Nein habe ich nicht... ich dachte eigentlich ja an die Audioausgabe und nich Audioaufnahme...
Aber genau das wird doch in dem Beispiel vorgeführt.
Ja hast ja Recht ... hab's bloß übersehen
Oh okay danke! Ich schau mir die Methode mal an und dann berichte ich.
Dann legst du bis zur Auslieferung die Icons in nen extra Ordner und danach kannst du es ja immer noch umändern. Aber mein Tipp: Verwende eine DLL. Da kannst du alle Icons reinspeichern und ganz leicht mit TraySetIcon aufrufen. Dann hast du nur eine Datei für alle Icons.
Da hast du Recht, aber das wird so leicht nicht möglich sein, da dass TrayIcon ja keine ID hat, über dass es angesprochen werden kann. Ich denke nicht, dass man das Icon iwie mit GDI+ manipulieren kann.
Hallo mal wieder,
ich wollte fragen, ob es möglich ist, die Beats vom Sound eines anderen Programms oder generell dem Audioausgang abzufangen. Der Hintergrund ist folgender: Ich habe einen LED-Streifen mit einem Mikrocontroller verbunden (^bastel^), der sich wiederum über eine Comm serielle Schnittstelle ansteuern lässt. Diese Hürde hab ich schon überwunden, ich hab ein Kommandozeilenprogramm geschrieben, dass ich je nach Beat auch aufrufen kann. Ich müsste jetzt nur noch in Echtzeit zur Musikwiedergabe herausfinden, wann in dem Lied die Beats vorkommen. Schwer zu erklären, vielleicht versteht jemand, was ich meine .
LG NO1
Naja, wenn die Icons auch im unkompilierten Zustand verfügbarsein sollen, ist das natürlich nicht möglich resource-tables zu verwenden, da die Icons ja erst beim kompilieren eingebunden werden.
Du könntest die Icons 1. in einem Ordner (lokal) ablegen, 2. in eine DLL speichern oder binär einbinden
Die erste benutzerdefinierte Resource hat den Wert 201, da bei jedem kompilieren auch vom AutoIt-Compiler Resourcenplätze benötigt werden. Wenn du deine .exe-Datei mal im Resource Hacker zum Beispiel anschaust, wird dir auffallen, dass sich auch noch weitere Icons in der .exe-Datei befinden. Wenn du die Resourcen unbedingt mit Namen ansprechen willst, könntest du sie auch binär einbinden, also als String und diesen in einer Variable zur Verwendung speichern.
Naja, als erstbesten Workaround würde mir folgendes einfallen: FileCopy in deinem AutoIt-Skript einfach immer die DLL in das Includeverzeichnis.
Denn dort versucht er sie ja zu lokalisieren und wenn du eine neue Version der DLL compiled hast musst du es nicht manuell moven.
Das hat mich echt grad stutzig gemacht... also es funktioniert und reicht auch aus wenn man nur die NuGet-DLLs kopiert und da diese sich ja nicht aktualisieren reicht das einmalig. Nur, dass die autoit.exe sie nicht im Include-Verzeichnis haben will, sondern im Verzeichnis mit dem AutoIt-Compiler.
Oder versuch mal die DLLs die du über NuGet ziehst manuell als Verweis hinzuzufügen, vielleicht klappt es ja so.
Bei mir hats nicht funktioniert.
Wirds auch nicht, da die Projekteinstellungen, wie das Framework etc. im Überordner von den NuGet-Packages gespeichert sind und der VisualStudio Compiler nur immer zur Buildzeit eine lokale Kopie von den NuGet-Dateien erstellt und davor auch die Einstellungsdateien der NuGet-Dateien checkt.
Danke alpines... als Kompilat funktioniert es tatsächlich. Kann man das kompilieren umgehen? Denn je nach Größe meiner Projekte kann das sehr langwierig werden, wenn ich jedes Mal kompilieren muss und ich würde mir die Debugging-Konsole schon gern anschauen, um auch andere Fehler zu eliminieren.
Zum letzten Parameter: Der Funktionskopf lautet ja Func _GetRest($sHost, $sPath, $bSSL = True)
Mit $bSSL ? 443 : 80 wird nun überprüft, ob $bSSL im Funktionsaufruf True oder False ist. Wenn $bSSL = True, dann wird bei _WinHttpConnect als Port 443 verwendet also so: $hConnect = _WinHttpConnect($hSession, $sHost, 443), wenn $bSSL False ist wird Port 80 verwendet: $hConnect = _WinHttpConnect($hSession, $sHost, 80). Das ?: ist eigentlich nur eine If-Bedingung mit der überprüft wird ob die Variable die vor dem ? steht true oder false ist und dementsprechend wird dann der Wert vor dem : für Variable = true und nach dem Doppelpunkt für Variable = false "eingesetzt".
Ja, wie water schon gesagt hat, nimm die UDF. Da werden die HTTP-Requests direkt mit DLL-Aufrufen abgefragt und es braucht kein COM-Objekt. Fehlerbehandlung ist da auch schon mit eingebaut.
Mhh noch ne andere Frage... wenn man Namespaces verwendet, die man über denNuGet-Paketmanager hinzufügt, kommt beim DLL-Aufruf immer die Fehlermeldung ...
"Unbehandelte Ausnahme: System.IO.FileNotFoundException: Die Datei oder Assembly "<Name des Namespaces>, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden."