Auf die zweite stelle hinterm Komma runden und mal 100 nehmen.
Mein Beispiel gesehen?
Beiträge von nuts
-
-
Hilft StringinStr hier nicht?
Weil sonst müsste man genau wissen wie der String und der Teilstring aussieht. -
http://bug-fix.info/dll/dll_tut.html vielleicht hilft die dieses Tut?
Edit\ zu spät :wacko:
-
Davon weiss die DLL ja nichts.
Die kennt nur Einser und Nullen
Gesetzt und ausgelesen wird das ganze über eine Fließkommazahl im Bereich 0 bis 1.
-
auch wenn es seltsam ist das das dann zwischen 0 und 1 liegt

So seltsam ist das gar nicht.
Um 0 bis 100% darzustellen findet man das doch recht häufig.Die Funktion läuft einwandfrei (hab die gleichen incluces wie beim Starplayer verwendet):
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include 'bass\BassConstants.au3'
#include 'bass\Bass.au3'
#include 'bass\BassTags.au3'
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIplus.au3>
#include <WinAPI.au3>HotKeySet('{ESC}', 'OnAutoItExit')
[/autoit] [autoit][/autoit] [autoit]
HotKeySet('{Space}', 'Test_Volume')
_BASS_STARTUP(@ScriptDir & '\bass\BASS.dll')_BASS_Init(0, -1, 44100, 0, '')
[/autoit] [autoit][/autoit] [autoit]If @error Then
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, 'Error', 'Sound konnte nicht Initialisiert werden!')
Exit
EndIf
Global $file = FileOpenDialog('Bitte wählen Sie eine Sounddatei aus!', '', 'MP3 Datei (*.mp3)')
If @error Then
MsgBox(0, 'Fehler', 'Die Datei ist ungültig!' & @LF & 'Das Programm wird beendet!')
Exit
EndIfGlobal $MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
[/autoit] [autoit][/autoit] [autoit]Global $fftstruct = DllStructCreate('float[128]')
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_BASS_ChannelPlay($MusicHandle, 0)While 1
[/autoit] [autoit][/autoit] [autoit]Sleep(500)
[/autoit] [autoit][/autoit] [autoit]WEnd
[/autoit] [autoit][/autoit] [autoit]Func OnAutoItExit()
[/autoit] [autoit][/autoit] [autoit]
_BASS_Stop()
_BASS_Free()
Exit
EndFunc ;==>OnAutoItExitfunc Test_Volume()
[/autoit]
local $randomvolume=Round(Random(0,1),2)
ConsoleWrite("Set_Volume " & $randomvolume &@crlf)
_BASS_SetVolume($randomvolume)
ConsoleWrite("_BASS_GetVolume " &_BASS_GetVolume() & @CRLF)
EndFunc -
Aso, wieso hast du die Random-Funktion so gestaltet? Zufällig durch die Playlist springen ohne die Reihenfolge zu ändern wäre imho besser.
Eventghost unterstützt sehr viele Fernbedienungen.
Dabei wird erzeugt die Fernbedienungen in EG Events die dann einem Befehl zugeordnet werden können.
Wenn jetzt der Starplayer z.B. 8 Funktionen hat, die sinnvollerweise per Fernbedienung gesteuert werden können müsste man nur die 8 Befehle (Plugin) dort hinterlegen.Der Starplayer müsste dann auf die erhaltenen Befehle reagieren, z.B. über WM_Commad sieht das ca.
Spoiler anzeigen
[autoit]
[/autoit]
Func EG_WM_Commad($hWnd, $msgID, $wParam, $lParam)
switch $wParam
case 1
_Play()
case 2
_Stop()
case 3
_Next()
case 4
_Prev()
EndSwitch
endfunc -
Ggf sollten wir in die Forenregeln aufnehmen, daß beim Löschen von Startposts kommentarlos der Account gelöscht wird....
Vielleicht sollte man diese Funktion ganz abschalten, da so auch innerhalb des Thread oft der Kontext verloren geht. -
Na dann viel Spaß dabei

3D ist wesentlich aufwendiger, einfach ne Z-Achse einbauen hört sich leichter an als es ist
-
Für "Random", "repeate" usw. könnte man noch anders gefärbte Icons hinterlegen, damit man gleich erkennt ob die Funktion aktiviert ist oder nicht.
Wie wärs mir ner Fernbedienung-Unterstützung? Ich könnte ein Eventghost (http://www.eventghost.org/) Plugin basteln, dass WM_Command Nachrichten an deinen Player schickt.
Da müssten wir uns nur absprechen was gebraucht wird. -
Bei den TCP Funktionen ist ein Server und ein Client dabei.
So können die Skripte im Netzwerk komunizieren. -
Pseudocode:
[autoit]$timerinit=0
[/autoit][autoit][/autoit][autoit]
_Func()while 1
[/autoit]
if Timerdiff($timerinit) > 5000 then
_Func()
exitloop
endif
wend
_Func()
;dein code
$timerinit=Timerinit()
endfunc -
Dann sollte Timerinit und Timerdiff helfen.
-
Ich möchte in einem Label eine zahl haben die sich in einer bestimmten zeit um 1 erhöht.
Dazu passt die Lösung mit Adlibregister imho am besten.
Wobei man bei ineluki' s Beispiel beim Beenden die Ressourcen wieder freigeben sollte (Adlibunregister)
-
-
Super Design und auch "endlich" von den Sound Funktionen gelöst - gefällt mir sehr gut!
Hast du dich schon an der Einbindung von Visualisierungen versucht? -
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <Array.au3>Dim $avArray[20]
[/autoit] [autoit][/autoit] [autoit]
; Populate test array.
For $i = 0 To UBound($avArray) - 1
$avArray[$i] = Random(-20000, 20000, 1)
Next
_ArrayDisplay($avArray, "$avArray")
Global $sdaten = _ArrayToString($avArray)
MsgBox(0, "_ArrayToString()", $sdaten)GUICreate("GUI", 250, 240)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Firma ", 60, 10)$combobox = GUICtrlCreateCombo("", 60, 30)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($combobox, $sdaten)GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case - 3
ExitEndSwitch
[/autoit]
WEnd

-
Hast du meinen Post auch mal angesehen? Oder ist das ein Scherz? :wacko:
-
Hehe schell32.dll? Was solln das sein?

-
Hm ... hast du das Problem jetzt erkannt oder nicht?

Bei einem 1D Array kannst es einfach so machen.
[autoit]
[/autoit][autoit][/autoit][autoit]
global $combobox=GUICtrlCreateCombo('', -1, -1, 100, 50)global $adaten
[/autoit]
_ArrayDisplay($adaten)
Global $sdaten=_ArrayToString($adaten)
MsgBox(1, "$sdaten", $sdaten)
GUICtrlSetData($combobox, $sdaten) -
[autoit]
[/autoit]
$aArray1 = _ExcelReadArray($oExcel, 2, 4, 1300, 1) ;Direction is Vertical
;
;
$aArray1 = GUICtrlCreateCombo("", 60, 30)
;
;
GUICtrlSetData($aArray1[$i], $aIni[$j][1])
Fällt dir dabei was auf?