Audio Output aufnehmen

  • Ich habe mirs angeguckt und weiß immer noch nicht welcher Skript jetzt funktioniert von denen, die dort stehen.
    Bitte poste das Skript mal - sry das ich es nicht finde.
    Thx4Help

    Nur keine Hektik - das Leben ist stressig genug

  • Darf ich daraus einfach den Code daraus übernehmen?

    Weiß jmd. wie man den MikroEingang mit dem KopfhörerAusgang verbindet.
    Gibt einen Thread hier im Forum, werde aber nicht schlau draus...

    Nur keine Hektik - das Leben ist stressig genug

  • Manche Hersteller haben eine Möglichkeit in ihre Soundkarte eingebaut, um den Ausgang aufzunehmen.
    Bei Creative findet man z.B. neben dem Mikrofoneingang die Auswahlmöglichkeit "Was Sie hören"
    Bei Realtek nennt sich das "Stereomix"

    Um das zu testen, kannst du ja mal meinen Rekorder ausprobieren (und evtl. auch den Code verwenden)
    Falls ich morgen etwas Zeit finde, dann kann ich ja auch ein kurzes Beispiel scripten...

    mfgE

  • eukalyptus:
    Recorder: Status: 00:00:37 0KB ERR: Enc

    Hmmm ... ^^
    why das?

    Edit: Ähhm. Sonst pls Skript posten um MicroEingang mit dem KopfhörerAusgang zu koppeln (habe Thread aber da ist kei Lösung... )

    Nur keine Hektik - das Leben ist stressig genug

  • Hi

    Das Aufnahmescript ist eigentlich ganz einfach:

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_UseX64=n
    #include "Bass.au3"
    #include "BassEnc.au3"
    #include "BassExt.au3"

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

    HotKeySet("{ESC}", "_Exit")

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

    OnAutoItExitRegister("_FreeBass")

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

    Global $hRecord, $hEncoder

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

    _BASS_Startup()
    _BASS_ENCODE_Startup()
    _BASS_EXT_Startup()

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

    _BASS_RecordInit(0)
    _BASS_RecordSetInput(0, $BASS_INPUT_ON, -1)
    $hRecord = _BASS_RecordStart(44100, 2, 0, $BASS_EXT_RecordProc)
    $hEncoder = _BASS_Encode_Start($hRecord, @ScriptDir & "\BASS_EXAMPLE.wav", $BASS_ENCODE_PCM)

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

    While 1
    Sleep(1000)
    WEnd

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

    Func _FreeBass()
    If $hEncoder Then _BASS_Encode_Stop($hEncoder)
    If _BASS_RecordGetDevice() <> -1 Then _BASS_RecordFree()
    EndFunc ;==>_FreeBass

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

    Func _Exit()
    ShellExecute(@ScriptDir & "\BASS_EXAMPLE.wav")
    Exit
    EndFunc ;==>_Exit

    [/autoit]

    Dieses Script nimmt von Device Nr.: 0 / Input Nr.: 0 auf

    welcher Input jetzt der richtige ist, kannst du mit diesem Script ausprobieren:

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_UseX64=n
    #include "Bass.au3"

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

    Global $iDevice, $iInput, $aInfo, $sName

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

    _BASS_Startup()

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

    $iDevice = 0
    While 1
    $aInfo = _BASS_RecordGetDeviceInfo($iDevice)
    If @error Then ExitLoop
    ConsoleWrite(@CRLF & "+---------------------------------" & @CRLF)
    ConsoleWrite(">" & $aInfo[0] & @CRLF)
    _BASS_RecordInit($iDevice)
    $iInput = 0
    While 1
    $sName = _BASS_RecordGetInputName($iInput)
    If @error Then ExitLoop
    ConsoleWrite("-" & $sName & @CRLF & "+" & @TAB & $iDevice & "/" & $iInput & @CRLF)
    $iInput += 1
    WEnd
    ConsoleWrite(@CRLF & "+---------------------------------" & @CRLF)
    _BASS_RecordFree()
    $iDevice += 1
    WEnd

    [/autoit]

    Das liefert bei mir unter WinXP:

    Spoiler anzeigen

    und unter Win7:

    Spoiler anzeigen


    In meinem Fall kann ich den Ausgang der Realtek-Soundkarte über Stereomix und den Ausgang der Creative über "Was Sie hören" aufnehmen.
    Diese beiden Hersteller bieten dieses Feature an - das ist quasi, als würde man ein Kabel vom Output wieder in den Input stecken...
    Das können aber nicht alle Soundkarten

    Wenn ich jetzt den Ausgang der Realteksoundkarte aufnehmen will (Stereomix), muß ich auf WinXP

    [autoit]

    _BASS_RecordInit(1)
    _BASS_RecordSetInput(1, $BASS_INPUT_ON, -1)

    [/autoit]


    und auf Win7

    [autoit]

    _BASS_RecordInit(1)
    _BASS_RecordSetInput(0, $BASS_INPUT_ON, -1)

    [/autoit]

    schreiben


    evtl. sind auf Win 7 / Vista manche Inputs deaktiviert und müssen erst in der Systemsteuerung aktiviert werden...

    die benötigten bass-UDF´s sind im Anhang