Audioausgabegerät ändern

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Takafusa.

    Audioausgabegerät ändern

    Und gleich nochmal guten Abend :) :)

    Ist es möglich in .NET das Audioausgabegerät per Code zu ändern, idealerweise in Verbindung mit der bass.dll?

    Hab im Internet gesucht und nichts aktuelles gefunden, bzw. nur wenn man z.B. eine externe *.exe startet.

    Wär wirklich cool wenn da jemand was dazu weiss...
    @petaod

    Ja coole Sache so einfach. Nur eine Frage, wie kriege ich raus was hinter Device Eins und Device 2 steckt. Gibt's ne Funktion die mir da im besten Fall einen String ausspuckt? Bis jetzt hab ich als ersten Parameter bei der Initilialisierung der Bass.dll immer - 1 als Wert verwendet... Das ist dann wohl das Standard Device...

    Beispiel: Ich habe eine Onboard Soundkarte, einen über Hdmi angeschlossenen Fernseher und ein USB-Studiomikrofon mit eingebautem Audio Interface, an das man Kopfhörer anschließen kann. Nun möchte ich eine Listbox, die mir die drei dann als String anzeigt und in der ich dann auswählen kann...
    Edit:
    Ich denke das geht dann wahrscheinlich mit Bass_GetInfo ich probier das einfach mal aus...

    @petaod

    OK bin ein Stück weiter. Hab das jetzt so gelöst:

    VB.NET-Quellcode

    1. If Bass.BASS_Init(1, 44100, BASSInit.BASS_DEVICE_DEFAULT, Me.Handle) Then
    2. Dim n As Integer = 0
    3. Dim info As New BASS_DEVICEINFO()
    4. While (Bass.BASS_GetDeviceInfo(n, info))
    5. ListBox1.Items.Add(info.ToString())
    6. n += 1
    7. End While
    8. End If


    Nur leider spuckt er mir im besten Fall nur zwei Geräte aus:
    -"no sound"
    -das aktuelle Standardgerät

    Egal was für einen ersten Parameter ich in BASS_Init verwende... Also ich habs mit -1, 0, 1 und 2 versucht...

    Ich habe wie gesagt drei Geräte...

    Muss ich da evtl. noch irgendwo eine Soundtreiber angeben oder was in der Art? Hab nämlich mehrere...

    Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von „kafffee“ ()

    Sind die nicht gelisteten Devices denn als Bereit gekennzeichnet?
    -> Drücke Windows-Taste+R gib control ein drücke enter
    -> Klicke auf Sound, beim Reiter Wiedergabe siehst du Bereit, Standartgerät oder Nicht angeschlossen. Die Bass sollte alle Devices auflisten, welche als bereit gekennzeichnet sind und auch das Standartgerät.

    Um alle Devices zu benutzen, musst du sie auch Initialisieren dann kannst du sie mit SetDevice als Ausgabeziel wählen

    C#-Quellcode

    1. int counter = 0;
    2. while(Bass.BASS_Init(counter, 44100, BASSInit.BASS_DEVICE_DEFAULT, Handle))
    3. {
    4. Debug.WriteLine(counter);
    5. counter++;
    6. }
    7. counter = 0;
    8. BASS_DEVICEINFO info = new BASS_DEVICEINFO();
    9. while (Bass.BASS_GetDeviceInfo(counter, info))
    10. {
    11. Debug.WriteLine(info.ToString());
    12. counter++;
    13. }