ich bin recht verzweifelt. Seid Wochen versuche ich folgendes.
Stream Daten aus dem Stereomixer oder einer anderen Sound Quelle anzeigen und auswerten so wie Audacity es mit der Anzeige bei der Aussteuerung bei Aufnahme macht.
Ich habe mich entschlossen jemanden zu suchen der das in Form einer DLL für mich macht der weis was er da machen muss. Ich wäre auch bereit 100 Euro dafür zu investieren.
Meinen Code kann ich mittlerweile nicht mal mehr selber verstehen und habe ehrlich gesagt die Nase gestrichen voll. Da ich aber trotzdem die Funktionelle Seite verwenden mag
hier mein Aufschrei um Hilfe

Was brauche ich genau. Eine DLL
Diese sollte einen Speicherbereich verwalten
Die Grösse muss einstellbar sein.
Die DLL Kopiert die aus dem Primären Soundaufnahmetreiber oder Stereo Mixer kommenden Daten in Stereo in den Speicherbereich.
Die Abtastrate muss einstellbar sein.
Ich stelle mir das als Anwendung Beispiel in etwa so vor.
Code: Alles auswählen
#ScreenWidth = 800
#ScreenHeight = 600
#Left = 1
#Right = 2
#Mono = 3
; Funktionen oder DLL Aufrufe
Global Speichergroesse
;Global *MemoryID
Procedure InitAufnameTreiber(Abtastrate,Speichergroesse)
Global *MemoryID = AllocateMemory(Speichergroesse)
ProcedureReturn 1
EndProcedure
Procedure GetCountAufnameTreiber()
ProcedureReturn 1
EndProcedure
Procedure.s GetAufnameTreiberName(id)
ProcedureReturn "Primärer Soundaufnametreiber"
EndProcedure
Procedure SetAufnameTreiber(id)
ProcedureReturn 1
EndProcedure
Procedure GetAbtastPuffer(Mode=#Mono)
e.f=Random(256,1)
r.f=(1.0/256.0)*e
PokeF(*MemoryID,r)
ProcedureReturn *MemoryID
EndProcedure
Procedure StartAufname()
EndProcedure
OpenConsole()
EnableGraphicalConsole(1)
InitSprite()
InitKeyboard()
Speichergroesse=512
Abtastrate=60
ok=InitAufnameTreiber(Abtastrate,Speichergroesse)
If ok=0 : End : EndIf : PrintN("Init ok")
CountTreiber=GetCountAufnameTreiber()
For i=1 To CountTreiber
NameAufnameTreiber$=GetAufnameTreiberName(i)
PrintN (NameAufnameTreiber$)
Next
ok=SetAufnameTreiber(1)
If ok=0 : End : EndIf : PrintN("Treiber ok")
If OpenWindow(0, 0, 0, 150, 100, "GetSoundData")
StartAufname()
Repeat
Event=WindowEvent()
Select Event
Case #PB_Event_CloseWindow
Quit = 1
EndSelect ;Event
*DatenPuffer=GetAbtastPuffer(#Left)
Pos=0
Wert.f=PeekF(*DatenPuffer+Pos)
ConsoleLocate(0,5)
Print("("+StrF(Wert.f)+") ")
ConsoleLocate(30,5)
Print("Timer "+Str(ElapsedMilliseconds()))
Until Quit=1
Else
MessageRequester("Error","Can't open the window !",0)
EndIf
End
direkten Input aus dem Treiber heraus angeben. Ich möchte einfach ... na ja , eben nicht einfach. Das was ich höre am Computer unabhängig von der Quelle Optisch
weiter verarbeiten. Fals also jemand erbarmen mit einer gequälten coder seele hat.
THX TFT alias Turgut Temucin