Sprache per TCP

  • Ich hab mal wieder ein Problem für meinen Voicechat per TCP ...
    Und zwar hab ich noch keinerlei Ahnung wie ich die Sprache übertrage , habe mir überlegt immer 1 Sekunde aufzunehmen und dann als Datei zu verschicken aber das wird dann zu abgehackt und man versteht nichts. Hat jemand eine Idee ? Es wäre sehr nett von euch ;) , ist nämlich mein zurzeit größtes Problem aber ich kann nicht weitermachen da ich feststecke ..

  • Du müsstest es so ca machen wie nen Internet stream, also andauernd senden, hab aber ekien Ahnung wie ds in autoit geht

    Computers are like Airconditioning. They don´t work with open Windows.

  • ja gut ... aber das hilft mir leider nicht weiter ... ;) Ich suche jemanden der eine Idee hat wie das mit AutoIt umzusetzen ist .. und keine Theorie ;) Aber trotzdem danke :P

  • Hier gibts mal ein Beispiel, wie man eine MP3-Datei senden kann:
    http://www.autoitscript.com/forum/index.php?showtopic=98861

    Um den Soundkarteninput in MP3-Daten zu verwandeln, kann man folgendes machen:

    Spoiler anzeigen
    [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

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

    Func Bass_Callback_Enc($handle, $channel, $buffer, $length, $user)
    ;Local $tempbuffer = DllStructCreate("byte[" & $length & "]", $buffer) ;???
    ;TCPSend($Socket, DllStructGetData($tempbuffer, 1)) ;???
    EndFunc

    [/autoit]

    In der Funktion Bass_Callback_Enc bekommt man regelmässig die fertigen MP3-Daten von lame.exe
    Diese können jetzt gesendet werden...
    Aber das übersteigt dann meine Fähigkeiten ;)

  • Hmm eig. müsste das doch direkt gehn oder? Aufnahme --> Codec --> versenden
    Ich vermute mal das ganze in dateien abzuspeichern und zu senden wird viel zu abgehackt sein weils einfach zu lange dauert. Aber wie man sowas Streamt... ka?
    Ich bin zwar davon überzeugt dass auch sowas mit autoit zu schaffen ist aber vielleicht lässt dann die qualität zu wünschen übrig oder man hat halt abgehackten sound.

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D