Mikrofon

  • Hallo,

    ich möchte mit autoit Stimmen (vom mikofon) über tcp oder udp versenden, und dann auf dem Empfänger-pc an die Lautsprecher senden, sodass man sich unterhalten kann.
    Gibts dafür nen Befehl, oder ne UDF?
    Oder geht das vielleicht garnicht?

    MfG, mab

    Einmal editiert, zuletzt von MAB_Commander (3. November 2009 um 21:36)

  • puuu da haste dir aber was hartes vorgenommen ..

    also ... dein problem wird wohl sein, wie du das auf dem anderen PC empfängst ..

    und wie "zeitgleich" das alles von statten gehen soll ..

    schon mal drüber gedanken gemacht !?

    echtzeit sprache .. umwandeln .. komprimieren ..

    stemaen .. senden .. ==> empfangen auf fehler prüfen

    gegebenenfalls erneut senden ..

    entpacken .. abspielen ..

    .. ppuuu ..

    fang doch erst mal klein an ..

  • Wenn du dir ein Mikro kaufst ist meistens ein Treiber dabei und vielleicht kann man mit der enthaltenen Dll arbeiten.
    Und zum verkleinern nimmst du am besten die Winzip udf...
    Das Abspielen würde ich mit der sound.au3 Udf machen.

  • erstmal danke für die antworten.
    vivus:
    warum sollte empfangen ein problem sein? Wenn ich weiß wie man es versendet, geht das empfangen bestimmt auch.
    Wegen dem Zeitgleichen: Eigentlich wollte ich es erst so machen, dass man sich wie in Teamspeak unterhalten kann. Aber wenn dazu autoit zu langsam ist, wären ne art memos die man von nem server abrufen kann auch ne möglichkeit.
    Fehler überprüfen ist eigentlich nicht notwenig. Vielleicht sogar per UDP wenn TCP zu langsam ist. Dann kommen halt manchmal was nicht an, wie bei Teamspeak auch.

    @sithlord:
    Ich habe ne externe usb 5.1 soundkarte. In dem Ordner liegt ein ganzer haufen dll's. Leider kann ich mit denen überhaupt nichts anfangen. Weiß nicht wie man die ließt, und was das überhaupt ist weiß ich auch nicht wirklich^^

    Das mit dem abspielen ist bei der memoform kein problem. Beim aufnehmen schon eher. Vielleicht kann man das was von windows (start - alle Programme - Zubehör - Unterhaltungsmedien - Audiorecorder) einbauen.

    Problem läge dann allerdings wieder beim versenden von dateien.
    Das funktioniert bei mir nicht.
    Wenn ich einfach eine datei auslese, und in ne neue schreibe, und die genauso nenne, dann ist die datei kaputt.
    Der wmp spielt sie viel zu schnell und kaum erkenntlich.
    Das gleiche passiert übrigens auch, wenn ich ne mp3 oder wma mit dem editor öffne, alle kopiere, und in ne neue einfüge...
    Habe bis heute nicht herausgefunden wo da der fehler ist.

    Einmal editiert, zuletzt von MAB_Commander (2. November 2009 um 17:05)

  • hab dir hier mal n script von ner remote camera .. ( web cam über internet )

    so ähnlich müste ja dann auch dein plan funktionieren ..

    [autoit]

    ; http://www.autoitscript.com/forum/index.php?showtopic=29904

    [/autoit][autoit][/autoit][autoit]

    ;CAMERA CONST
    $WM_CAP_START = 0x400
    $WM_CAP_UNICODE_START = $WM_CAP_START + 100
    $WM_CAP_PAL_SAVEA = $WM_CAP_START + 81
    $WM_CAP_PAL_SAVEW = $WM_CAP_UNICODE_START + 81
    $WM_CAP_UNICODE_END = $WM_CAP_PAL_SAVEW
    $WM_CAP_ABORT = $WM_CAP_START + 69
    $WM_CAP_DLG_VIDEOCOMPRESSION = $WM_CAP_START + 46
    $WM_CAP_DLG_VIDEODISPLAY = $WM_CAP_START + 43
    $WM_CAP_DLG_VIDEOFORMAT = $WM_CAP_START + 41
    $WM_CAP_DLG_VIDEOSOURCE = $WM_CAP_START + 42
    $WM_CAP_DRIVER_CONNECT = $WM_CAP_START + 10
    $WM_CAP_DRIVER_DISCONNECT = $WM_CAP_START + 11
    $WM_CAP_DRIVER_GET_CAPS = $WM_CAP_START + 14
    $WM_CAP_DRIVER_GET_NAMEA = $WM_CAP_START + 12
    $WM_CAP_DRIVER_GET_NAMEW = $WM_CAP_UNICODE_START + 12
    $WM_CAP_DRIVER_GET_VERSIONA = $WM_CAP_START + 13
    $WM_CAP_DRIVER_GET_VERSIONW = $WM_CAP_UNICODE_START + 13
    $WM_CAP_EDIT_COPY = $WM_CAP_START + 30
    $WM_CAP_END = $WM_CAP_UNICODE_END
    $WM_CAP_FILE_ALLOCATE = $WM_CAP_START + 22
    $WM_CAP_FILE_GET_CAPTURE_FILEA = $WM_CAP_START + 21
    $WM_CAP_FILE_GET_CAPTURE_FILEW = $WM_CAP_UNICODE_START + 21
    $WM_CAP_FILE_SAVEASA = $WM_CAP_START + 23
    $WM_CAP_FILE_SAVEASW = $WM_CAP_UNICODE_START + 23
    $WM_CAP_FILE_SAVEDIBA = $WM_CAP_START + 25
    $WM_CAP_FILE_SAVEDIBW = $WM_CAP_UNICODE_START + 25
    $WM_CAP_FILE_SET_CAPTURE_FILEA = $WM_CAP_START + 20
    $WM_CAP_FILE_SET_CAPTURE_FILEW = $WM_CAP_UNICODE_START + 20
    $WM_CAP_FILE_SET_INFOCHUNK = $WM_CAP_START + 24
    $WM_CAP_GET_AUDIOFORMAT = $WM_CAP_START + 36
    $WM_CAP_GET_CAPSTREAMPTR = $WM_CAP_START + 1
    $WM_CAP_GET_MCI_DEVICEA = $WM_CAP_START + 67
    $WM_CAP_GET_MCI_DEVICEW = $WM_CAP_UNICODE_START + 67
    $WM_CAP_GET_SEQUENCE_SETUP = $WM_CAP_START + 65
    $WM_CAP_GET_STATUS = $WM_CAP_START + 54
    $WM_CAP_GET_USER_DATA = $WM_CAP_START + 8
    $WM_CAP_GET_VIDEOFORMAT = $WM_CAP_START + 44
    $WM_CAP_GRAB_FRAME = $WM_CAP_START + 60
    $WM_CAP_GRAB_FRAME_NOSTOP = $WM_CAP_START + 61
    $WM_CAP_PAL_AUTOCREATE = $WM_CAP_START + 83
    $WM_CAP_PAL_MANUALCREATE = $WM_CAP_START + 84
    $WM_CAP_PAL_OPENA = $WM_CAP_START + 80
    $WM_CAP_PAL_OPENW = $WM_CAP_UNICODE_START + 80
    $WM_CAP_PAL_PASTE = $WM_CAP_START + 82
    $WM_CAP_SEQUENCE = $WM_CAP_START + 62
    $WM_CAP_SEQUENCE_NOFILE = $WM_CAP_START + 63
    $WM_CAP_SET_AUDIOFORMAT = $WM_CAP_START + 35
    $WM_CAP_SET_CALLBACK_CAPCONTROL = $WM_CAP_START + 85
    $WM_CAP_SET_CALLBACK_ERRORA = $WM_CAP_START + 2
    $WM_CAP_SET_CALLBACK_ERRORW = $WM_CAP_UNICODE_START + 2
    $WM_CAP_SET_CALLBACK_FRAME = $WM_CAP_START + 5
    $WM_CAP_SET_CALLBACK_STATUSA = $WM_CAP_START + 3
    $WM_CAP_SET_CALLBACK_STATUSW = $WM_CAP_UNICODE_START + 3
    $WM_CAP_SET_CALLBACK_VIDEOSTREAM = $WM_CAP_START + 6
    $WM_CAP_SET_CALLBACK_WAVESTREAM = $WM_CAP_START + 7
    $WM_CAP_SET_CALLBACK_YIELD = $WM_CAP_START + 4
    $WM_CAP_SET_MCI_DEVICEA = $WM_CAP_START + 66
    $WM_CAP_SET_MCI_DEVICEW = $WM_CAP_UNICODE_START + 66
    $WM_CAP_SET_OVERLAY = $WM_CAP_START + 51
    $WM_CAP_SET_PREVIEW = $WM_CAP_START + 50
    $WM_CAP_SET_PREVIEWRATE = $WM_CAP_START + 52
    $WM_CAP_SET_SCALE = $WM_CAP_START + 53
    $WM_CAP_SET_SCROLL = $WM_CAP_START + 55
    $WM_CAP_SET_SEQUENCE_SETUP = $WM_CAP_START + 64
    $WM_CAP_SET_USER_DATA = $WM_CAP_START + 9
    $WM_CAP_SET_VIDEOFORMAT = $WM_CAP_START + 45
    $WM_CAP_SINGLE_FRAME = $WM_CAP_START + 72
    $WM_CAP_SINGLE_FRAME_CLOSE = $WM_CAP_START + 71
    $WM_CAP_SINGLE_FRAME_OPEN = $WM_CAP_START + 70
    $WM_CAP_STOP = $WM_CAP_START + 68
    ;CAMERA CONST
    #include <GUIConstants.au3>
    #include <Inet.au3>
    Global $refresh = 10 ;IN SECONDS
    Global $session = 1
    Global $listen
    Global $sock
    TCPStartup()
    HotKeySet('{ESC}', 'OnAutoItExit')
    Global $IP = InputBox( "IP Address", "Enter your IP address", @IPAddress1 )
    If @error Then Exit
    Global Const $PORT = 6969
    Global $recv, $output
    $listen = TCPListen($IP, $PORT, 100)
    If $listen = -1 Then
    mError('Unable to connect.')
    Exit
    EndIf
    $avi = DllOpen("avicap32.dll")
    $user = DllOpen("user32.dll")
    $snapfile = @ScriptDir & "\scrshot.bmp"
    $Main = GUICreate("Camera", 350, 270)
    $cap = DllCall($avi, "int", "capCreateCaptureWindow", "str", "cap", "int", BitOR($WS_CHILD, $WS_VISIBLE), "int", 15, "int", 15, "int", 320, "int", 240, "hwnd", $Main, "int", 1)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_DRIVER_CONNECT, "int", 0, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_SCALE, "int", 1, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_OVERLAY, "int", 1, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_PREVIEW, "int", 1, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_PREVIEWRATE, "int", 1, "int", 0)
    GUISetState(@SW_SHOW)
    HotKeySet("{INSERT}", "SnapShot"); Press 'Insert' to make a SnapShot !
    Run(@ComSpec & ' /c start http://' & $IP & ':' & $PORT, @ScriptDir, @SW_HIDE)
    While 1
    $sock = TCPAccept($listen)
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then
    ;DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_CALLBACK_FRAME, "int", 0, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_END, "int", 0, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_DRIVER_DISCONNECT, "int", 0, "int", 0)
    ;DllClose($avi)
    DllClose($user)
    Exit
    ElseIf $sock >= 0 Then
    $recv = _SockRecv($sock)
    SnapShot()
    If StringInStr($recv, "GET") Then $recv = _StringBetween($recv, "GET /", " HTTP/1.1")
    ConsoleWrite($recv)
    If $recv <> "" Then
    $file = FileOpen($snapfile, 0)
    If $file <> - 1 Then
    $output = FileRead($file)
    EndIf
    FileClose($file)
    Else
    $output = '<html><meta http-equiv="refresh" content="' & $refresh & '"><center><img src="scrshot.bmp"/><BR>Time Stamp ' & @HOUR & ':' & @MIN & ':' & @SEC & '<BR></center></html>'
    EndIf
    $send = _SockSend($sock, $output)
    TCPCloseSocket($sock)
    EndIf
    Sleep(1)
    WEnd
    Func SnapShot()
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_GRAB_FRAME_NOSTOP, "int", 0, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_FILE_SAVEDIBA, "int", 0, "str", $snapfile)
    EndFunc ;==>SnapShot
    Func mError($sText, $iFatal = 0, $sTitle = 'Error', $iOpt = 0)
    Local $ret = MsgBox(48 + 4096 + 262144 + $iOpt, $sTitle, $sText)
    If $iFatal Then Exit
    Return $ret
    EndFunc ;==>mError
    Func _SockRecv($iSocket, $iBytes = 2048)
    Local $sData = ''
    While $sData = ''
    $sData = TCPRecv($iSocket, $iBytes)
    WEnd
    Return $sData
    EndFunc ;==>_SockRecv
    Func _SockSend($iSocket, $sData)
    Return TCPSend($iSocket, $sData)
    EndFunc ;==>_SockSend
    Func OnAutoItExit()
    TCPCloseSocket($sock)
    TCPCloseSocket($listen)
    TCPShutdown()
    Exit
    EndFunc ;==>OnAutoItExit
    ;==>_StringBetween
    ;-------------------------------------------------
    Func _StringBetween($string, $begin, $end)
    Local $_begin, $_end
    $_begin = StringSplit($string, $begin, 1)
    If Not @error Then
    $_end = StringSplit($_begin[2], $end, 1)
    If Not @error Then
    Return ($_end[1])
    EndIf
    EndIf
    EndFunc ;==>_StringBetween

    [/autoit]
  • Hi

    mit Bass.dll und BasEnc.dll kannst du den Mikrofoneingang direkt als MP3 an einen Shoutcast oder Icecast-Server schicken und auf der Gegenseite auch wieder empfangen und abspielen.
    Das geht dann mit etwa 2 bis 7 Sekunden Verzögerung.

    Dazu benötigst du aber einen Icecast-Server.
    Wie man so einen einrichtet weiß ich leider nicht, aber die Scripte selber sind nicht so schwierig.

    evtl. findest du auch einen gratis Icecast Anbieter...


    Eine zweite Möglichkeit:
    Auch mit den Bass Dll´s kann man die MP3-Daten direkt an das Script in 4096Byte-Paketen übergeben...
    Diese könnte man dann via TCP versenden und an der Gegenseite wieder zusammenfügen.

    Das ist aber wesentlich complexer!

    lgE

  • Also die 2. Möglichkeit klingt schon wesentlich besser.
    Aber wie mache ich das jetzt genau?
    Die Dll habe ich runtergeladen.
    Ich möchte jetzt damit anfangen nen einfachen Voice-Recorder zu scripten.
    Kenne mich mit Dll's aber wie gesagt überhaupt nicht aus...

    [autoit]


    $datei = FileOpen ("test.mp3",1)
    While 1
    $1 = DllCall ("Bass.dll",?????)
    FileWrite ($datei,$1)
    WEnd

    [/autoit]

    So wohl nicht...
    Wo bekomme ich die parameter für den Befehl "DllCall" her?
    Die Dll sieht so aus:

    Spoiler anzeigen
    Code
    °¦%·£Z qøœqYìNæ>—•›!ð˜ùµ%CóoیґvópJ(aÎ_¯0·ôrÖS	•@YØx³VÚs˜^:XC=@«ˆ†ÑÍ¿ÛljÙ5‹YRtb6¶¾˜g#l’0l*­0V é6zL›²%'X
    „MKRMî6©GKÝ	µ¬±Yµ¾ä¤ˆ£Ø¾d\³à«ß²¾O”ë*¬ßœY–† §ŠºªC$këÈ4Ö£ô“.Qt\¢m^)_$PY¯	¹=GNÙdõû
    kŽ<ášU¬,üT®\ô£c¯Âë{9‘Ì%AÔ<˜©´)aÖ„Þ Ný_+ãaê‘G@Ï’Ø‘£ò,E4­»Ó¤/Á¦;nÑÈoC«ÕPîBùå]K…`/–î¶ôûáË
    Üè8	b³Ê¨8’¸þ¿¡JŠš¶I·&„„…á¾ú¡Øøå²êÇ°"ÂNªÂdž4}a…Š:Â’8Œ®¾>öþû¾pD€×UÛž/¯ƒTºpB<µûr4q›žï¨RY{|Ô.€1¡8‹¯-ˆ
    †ÃÐ f´ÇXẂ{ÁA‰iV'aûb§©ÅÍ-il£†>×*~QEu5ÅèçHpÀÑDI„¢ËDŒœ™eR0á÷¸'§(<Ÿe"VDßš¬Í½dÓ­.Õ˜¬-)~üŸÖÝ’×­œ>Ýžî/¦vú·Þ2éæ®6©r¹mù¸úÿŠ›¼ú,—ÜW½cÊ®á\Ö0›,$*0š:Tª(‹—Û/£äqÍ:p哼ãÝŸÕßÚ©¤³êÙ¥nÜ·W@é´/ià€ªdit—1¤eÑ€~Û YÆöS”‚jÑÖ`ÆztG`÷i'#”=X2‘’4(âïtx%ÉA oq€¿?‚üÚˆ´/1QïÑT?à‡:“äâ>€z«ÍûéôTdª™tRøÓ”Íd<mÙk´§¥ÊÀçZSùr¿(Ö«GZbÌ»™ÑMm&ž_™ÕCk5	®ZXm"-&9Þn9ü)QP¶îfÀŸ!h*.œ‰ÖjØ*Qé;Ñû'D/ÍMl¤A;\á´‹Wd.J¥«lŠ@h¢ÅJ´pAŸL,OàÇ$ ˆ	ÖK&!”`ïó2¥öÞw3hóIyÚ'J™xì%&9S;ÑÂØ£}0Ñ¿c†~ ôAl5]zÛÃãhh­=EØ޶ߵY̪T&Ú-36*dIEX*“‰U]¯‹=ò†îS™ÝgŒ¦ÔÉû%Uòr>ˆ‘	ËO ¦“S˜ºÈtR8·©t²Ä @96ÈGiÒ}C±ÄAƒ‘BSš;zCåªPs™`¤*qÕÊUèQ&=ˆÔê W&ÎÀœŽ¸|4åQ†:ø‹ˆÐŠw`b>B†‹ÿ®ŠÌ\%?Üa—ƒ˜e›Ï±+TyË\—‘ų1 [š#þÁì¹ZÍ@äÆ Ó2*Ý_Áç×kR Q¼åÙ¢x‰‚ºBŽ}Ø#xUíȲg-¢¡.oÀ4:ÉëW4+üQÁÜGIÏÁ?‚Y¼¢kbþ3¿ ±%M@Q`¯KQJ’@x¼W¨Ù Ž»F!Õô’ÀM­.<A ü!—ëÁ™Rå"–˜êzЃœáÄ_Ø º¥Ñ"®½ÏÔaPç"J¾‘ñµvÚþ}ÃoPâ¼K6MŒéQ"Õ­Ê߃X6T×T½8£k#940TžLCñ³†Å€’1kŠÀŠÝŸ<t2ž)GâSþ0×Fd ‹MªBphãøã“F»TÒòÀõÔËiª_Î"’BA)³C–‡–qªàÍž®86Aô—Ÿ1Îî8%ý6F¬ºé æaÁÚyOÏÈ(VQ«Sb­iÊ•‡Utçª šÕ7LNØzõ¨u&hú«1oXÏòÅ—ùÈò-ýÁDúf=çq¡8Þ­uø] +ª?ïràÉf«„óûL¼qÅ1ÞnQÚ=Péqº¤[}1€sÇV—É.Imo8W†s…\’ÖÆ¥èÆ	(ezð0½8><xÁW+2‚u&À'"’VLR)W3Uh:ë´Ž'eün"Ì( e.)j€“mãòÖ7hwùÜ”ñàÌ$Cá]ìŠî¹óWp1[ßdI$Â.A4Jå·}Ù7X•¹êì™­“6¬T³Ey§êZÞÌ;}¶0S;ÕCk¡ŠÔ»ºÙ²~í¿pÜ_áí©"º³£ezrè¡´XX—q1–Úò4À•Ÿô6öÙù‰@¡“ÈZ*&,½€ê‡&µ¯‘‚Å4ˆ?ä@º?³Š§ð¾:k %2æOHƒÉ¼æ$$GƒÊî[T}Ó
    ÉÕòQ÷Ïh0^P¼},X4{¬^ åu¼:½ç‹bÚâÚÜ ðžþà5×±Gg

    Damit kann ich nichts anfangen.
    Bitte also nochmal um hilfe^^

  • Hier mal ein ganz einfaches Beispiel um an die MP3-Daten zu kommen:

    [autoit]

    #include <BassEnc.au3>

    [/autoit][autoit][/autoit][autoit]

    Global $hBassDll = DllOpen("bass.dll")
    Global $hBassEncDll = DllOpen("bassenc.dll")

    [/autoit][autoit][/autoit][autoit]

    _BASS_RecordInit($hBassDll, -1)
    Global $hRecHandle = _BASS_RecordStart($hBassDll, 44100, 2, 0, "Bass_Callback_Rec")
    _BASS_Encode_Start($hBassDll, $hBassEncDll, $hRecHandle, 'lame -r -x -b128 - - ', 0, "Bass_Callback_Enc")

    [/autoit][autoit][/autoit][autoit]

    While 1
    Sleep(10)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func Bass_Callback_Rec($handle, $buffer, $length, $user)
    Return 1
    EndFunc ;==>Bass_Callback_Rec

    [/autoit][autoit][/autoit][autoit]

    Func Bass_Callback_Enc($handle, $channel, $buffer, $length, $user)
    Local $tempbuffer = DllStructCreate("byte[" & $length & "]", $buffer) ;???
    ConsoleWrite("MP3-Daten " & $length & " " & StringLeft(DllStructGetData($tempbuffer, 1), 80) & @LF)
    EndFunc ;==>Bass_Callback_Enc

    [/autoit]


    (Das StringLeft ist nur wegen der Darstellung drinnen!)

    Allerdings bricht das Script nach einiger Zeit ab, da Autoit zu langsam für solche Callbacks ist!?
    Um das zu beheben, muß man die Callback-Funktion in eine externe DLL auslagern (ich schreib diese z.b. in Freepascal)
    Dazu hab ich mir jedoch noch keine weiteren Gedanken gemacht, wie man dann die Mp3-Daten am besten in das Script bekommt ;)

    Ein paar Sekunden läuft das Script ja auch mit internem Callback für erste Testläufe ;)

    lame.exe wird benötigt!

    lgE


    Edit:

    Beim Empfänger muß man die Daten dann in einen PushStream füttern, in etwa so (NICHT GETESTET):

    [autoit]

    _BASS_Init($hBassDll, 0, -1, 44100, 0, "")
    Global $hStream = _BASS_StreamCreate($hBassDll, 44100, 2, 0, $STREAMPROC_PUSH, "")
    ...
    ...
    ...
    $tempbuffer = DllStructCreate("byte[4096]")
    DllStructSetData($tempbuffer, 1, $Data)
    _BASS_StreamPutData($hBassDll, $hStream, DllStructGetPtr($tempbuffer), 4096)

    [/autoit]
  • Also die Dateien die Keyle geschickt hat helfen schon mal viel weiter - danke!
    Aber eukalyptus:
    Von deinem Script verstehe ich nicht wirklich viel^^
    Vor ner Woche wusste ich noch nicht, dass es Dll's gibt, und jetzt soll ich die "auslagern"??? ^^

    Habe mir aber die Dateien mal angeguckt, und was gefunden.

    Vielleicht ist es nicht das was ich denke, aber kann es sein, dass mich die Funktion _BASS_StreamCreateURL weiterbringen könnte?

    _BASS_StreamCreateURL($bass_dll, $url, $offset, $flags, $proc = "", $user = "")

  • Nein, mit dieser Funktion kannst du nur Audiodateien aus dem internet öffnen und abspielen (http://www.xy.com/abc.mp3)

    Wenn du mein kurzes Beispiel schon nicht mehr durchblickst, dann wird das wohl mit der Echtzeitübertragung nichts werden ;)

    Vielleicht findest du eine fertige DLL die sowas kann, incl. senden und empfangen
    Such mal auf Sourceforge, Codeproject & Co

  • Also dein Beispiel habe ich jetzt verstaanden, aber das mit der Onlineübertragung lass ich trotzdem sein.
    Ich glaube das wird zu komplex, und es klingt auch Plausibel, dass AutoIt zu langsam dafür ist.

    Ich werde jetzt einfach nen komplizierten TcpChat schreiben^^

    Vielen Dank für eure Bemühungen.

    MfG