Soundstream an bestimmten Audio-Gerät/Treiber senden

  • Hallo, gibt es eine Möglichkeit eine Sounddatei an einem bestimmten Wiesergabegerät zu senden?
    Also bei mir gibt es:
    Lautsprecher (als Standard, soll auch so bleiben)
    Digitalaudio (hdmi)
    Line 1
    Line 2

    Und ich würde gerne ein Soundfile an Line 1 Abspielen lassen via Autoit.

    Wenn man normal die _SoundPlay Funktionen benutzt wird das Audio immer an dem Standard Gerät gesendet, also ich bräuchte eine Möglichkeit Sounddateien an einem bestimmten abspielen zu lassen.
    z.B in TeamSpeak kann man die Widergabegeräte auch ändern und somit ändern.

    Ich glaube das es mit der BassUDF geht aber ich habe nichts gefunden bzw. ich habe wenig Ahnung von der BassUDF.

    Ich würde mich über Hilfe freuen ;)

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes:

    Einmal editiert, zuletzt von PuReIroNie (15. Juni 2013 um 21:49)

  • Hallo PuRelroNie,

    Ich glaube das es mit der BassUDF geht

    In der Tat, es geht mit der BASS Udf.
    Ich glaube mein Weg um an die Deviceliste zu kommen, ist nicht der beste, aber immerhin funktionierts.

    Spoiler anzeigen
    [autoit]

    #include "Bass.au3"

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

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

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

    ; BASS starten
    _BASS_STARTUP()

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

    ; Deviceliste anzeigen
    $i = 1
    $devices = ""
    $info = -1
    While $info <> 0
    $info = _BASS_GetDeviceInfo($i)
    If IsArray($info) Then $devices &= "[" & $i & "] " & $info[0] & @CRLF
    $i += 1
    WEnd
    MsgBox(0, "Devicelist", $devices)

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

    ; Device auswählen
    ToolTip("loading devicelist...")
    $id = Int(InputBox("Choose Device", "Enter Device Id", "1"))
    If $id >= $i Then
    MsgBox(16, "Wrong Device", "Device does not exist!")
    Exit
    EndIf
    ToolTip("")

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

    ; Device initialisieren
    If Not _BASS_Init(0, $id, 44100, 0, "") Then
    MsgBox(16, "Device error", "Device could not be initialized.")
    EndIf

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

    ; Audiodatei laden
    $audiofile = @ScriptDir & "\test.mp3"
    If Not FileExists($audiofile) Then
    MsgBox(16, "File not found", "Missing audiofile: " & $audiofile)
    Exit
    Else
    $handle = _BASS_StreamCreateFile(0, $audiofile, 0, 0, $BASS_STREAM_AUTOFREE)
    EndIf

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

    ; Datei abspielen
    _BASS_ChannelPlay($handle, False)
    $bytelen = _BASS_ChannelGetLength($handle, $BASS_POS_BYTE)
    $seconds = _BASS_ChannelBytes2Seconds($handle, $bytelen)
    Sleep(1000 * $seconds)

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

    Func _Exit()
    ; Bass freigeben
    _BASS_Free()
    Exit
    EndFunc ;==>_Exit

    [/autoit]

    lg
    Developer30

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • Vielen Dank :)

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes: