Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mit Hilfe vom DirectX SDK ein selectedDevice setzen.

Frage Entwicklung Visual Studio

Mitglied: Sudden

Sudden (Level 1) - Jetzt verbinden

31.03.2014 um 12:19 Uhr, 1193 Aufrufe, 12 Kommentare, 1 Danke

Hi Admins,

ich habe im Rahmen eines kleinen Projektes ein Programm geschrieben, welches mir derzeit meine Audio Ausgabegeräte anzeigt.
Das habe ich mit Hilfe des DirectX SDK geschafft. Ich habe auf DirectX und DirectX.DirectSound verwiesen.
Nun kann ich mir meine ganzen Ausgabegeräte anzeigen lassen (TV via HDMI, Lautsprecher via Klinke und Headset via USB). Diese kann ich auch auswählen, aber noch nicht setzen. gibt es da vielleicht ein "setSoundDevice" oder sowas ähnliches? Wurde in der Doku von DirektX leider nicht fündig.
Hier nochmal der Code:

01.
 
02.
 
03.
'Pruefen ob eine Soundkarte im System installiert ist und auflisten der vorhandenen Soundkarten 
04.
Option Explicit On 
05.
Option Strict On 
06.
 
07.
Imports Microsoft.DirectX 
08.
Imports Microsoft.DirectX.DirectSound 
09.
 
10.
Public Class Form1 
11.
 
12.
    ' List der vorhandenen Soundkarten im System ermitteln 
13.
    Public Class GetSoundDevices 
14.
 
15.
        ' Rueckgabe der gefundenen Soundkarten 
16.
        Public Shared ReadOnly Property DeviceList() As List(Of String) 
17.
            Get 
18.
                Return GetDeviceList() 
19.
            End Get 
20.
        End Property 
21.
 
22.
        ' Soundkarten ermitteln 
23.
        ' Rueckgabe der gefundenen Soundkarten an eine List(...) 
24.
        Private Shared Function GetDeviceList() As List(Of String) 
25.
            Dim List As New List(Of String) 
26.
            Dim DeviceList As New DevicesCollection 
27.
            Try 
28.
                Dim n As Integer = 0 
29.
                Do While n < DeviceList.Count 
30.
                    List.Add(DeviceList(n).Description) 
31.
                    n += 1 
32.
                Loop 
33.
            Catch ex As Exception 
34.
                Throw New Exception(ex.Message.ToString()) 
35.
            End Try 
36.
            Return List 
37.
        End Function 
38.
 
39.
    End Class 
40.
 
41.
    ' Pruefen ob im System eine Soundkarte installiert ist 
42.
    Public Class DirectX_SoundkarteInstalliert 
43.
 
44.
        ' Rueckgabe ob eine Soundkarte gefunden wurde. True - es wurde eine Soundkarte gefunden sonst False 
45.
        Public Shared ReadOnly Property SoundkarteInstalliert() As Boolean 
46.
            Get 
47.
                Return GetSoundCard() 
48.
            End Get 
49.
        End Property 
50.
 
51.
        ' Soundkarten ermitteln 
52.
        Private Shared Function GetSoundCard() As Boolean 
53.
            Dim Result As Boolean = False 
54.
            Try 
55.
                Dim Device As DirectSound.Device = New DirectSound.Device() 
56.
 
57.
                If Device = Nothing Then 
58.
                    Result = False 
59.
                Else 
60.
                    Result = True 
61.
                End If 
62.
            Catch ex As Exception 
63.
                Throw New Exception(ex.Message.ToString()) 
64.
            End Try 
65.
            Return Result 
66.
        End Function 
67.
    End Class 
68.
 
69.
 
70.
    ' Initialisierung 
71.
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _ 
72.
            Handles MyBase.Load 
73.
        With Me 
74.
            .CenterToScreen() 
75.
            .Text = "Auf Soundkarte pruefen" 
76.
            With Me.Button1 
77.
                .Text = "Test" 
78.
            End With 
79.
        End With 
80.
    End Sub 
81.
 
82.
    ' Funktionsauswertung 
83.
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ 
84.
            Handles Button1.Click 
85.
        ListBox1.Items.Clear() 
86.
        Try 
87.
            'Ist eine Soundkarte im System vorhanden?... 
88.
            Dim IstInstalliert As Boolean = DirectX_SoundkarteInstalliert.SoundkarteInstalliert() 
89.
            Select Case IstInstalliert 
90.
                '...wenn ja ... 
91.
                Case True 
92.
                    '... wird versucht eine Liste der vorhandenen Geraete anzulegen... 
93.
                    Dim List As New List(Of String)(GetSoundDevices.DeviceList()) 
94.
                    '... enthaelt die Liste Daten?... dann ... 
95.
                    If List IsNot Nothing Then 
96.
                        '... wird die Liste in einer Schleife durchlaufen und das Ergebnis 
97.
                        'in einer ComboBox aufgelistet 
98.
                        For Each Devices As String In List 
99.
                            'Me.ComboBox1.Items.Add(Devices) 
100.
                            Me.ListBox1.Items.Add(Devices) 
101.
                        Next 
102.
                        If Me.ListBox1.Items.Count > 0 Then 
103.
                            'Erstes Item in der ComboBox selektieren 
104.
                            Me.ListBox1.SelectedIndex = 1 
105.
                        End If 
106.
                    End If 
107.
                Case Else 
108.
                    '... wenn keine Soundkarte gefunden werden konnte : 
109.
                    MessageBox.Show("Es ist keine Soundkarte installiert!", "Info") 
110.
            End Select 
111.
            'Eventuell auftretenden Fehler abfangen. 
112.
        Catch ex As Exception 
113.
            Throw New Exception(ex.Message.ToString()) 
114.
        End Try 
115.
    End Sub 
116.
 
117.
End Class 
118.
 
Ihr müsst mir nicht unbedingt den code schreiben, aber Hinweise, wie ich das hinbekommen könnte wären echt cool.
Vielen Dank im voraus.

MfG,


Sudden
Mitglied: colinardo
31.03.2014, aktualisiert um 13:55 Uhr
-edit- unter Windows 7 scheint das ganze nicht mehr so richtig zu funktionieren, deshalb die Empfehlung der Nutzung diese Tools zum setzen des Output-Devices:
http://www.administrator.de/contentid/233286#comment-912669

Grüße Uwe
Bitte warten ..
Mitglied: Sudden
31.03.2014 um 12:33 Uhr
Hi Uwe,

hast du wirklich? Dann Sorry. Habs wahrscheinlich überlesen. Sorry.

Ich werde das ausprobieren und berichten.

Vielen Dank nochmal.

MfG,

Sudden
Bitte warten ..
Mitglied: Sudden
31.03.2014 um 12:35 Uhr
Achja, nochwas. Wenn ich mein Programm öffne steht als erstes in der Liste "Primärer Soundtreiber" kann ich das irgendwie wegbekommen?
Bitte warten ..
Mitglied: colinardo
31.03.2014, aktualisiert um 12:40 Uhr
Zitat von Sudden:
Achja, nochwas. Wenn ich mein Programm öffne steht als erstes in der Liste "Primärer Soundtreiber" kann ich
das irgendwie wegbekommen?
indem du es nicht zu deiner Liste hinzufügst (bzw. es aus deiner Liste entfernst)...
Bitte warten ..
Mitglied: Sudden
01.04.2014 um 13:42 Uhr
Ich finde den .NET code nicht auf dieser seite.und die sln in der zip ann ich mit meinem Visual Studio 2008 leider nicht öffnen.
Bitte warten ..
Mitglied: colinardo
01.04.2014, aktualisiert um 13:47 Uhr
Zitat von Sudden:
Ich finde den .NET code nicht auf dieser seite.und die sln in der zip ann ich mit meinem Visual Studio 2008 leider nicht
öffnen.
Nimm die fertige EndPointController.exe aus dem ZIP-File. Zur Info: Das ist ein C++ Codeproject ...
Bitte warten ..
Mitglied: Sudden
01.04.2014 um 13:52 Uhr
Nimm die fertige EndPointController.exe aus dem ZIP-File. Zur Info: Das ist ein C++ Codeproject ...

Ich verstehe nicht was ich damit machen soll.
Bitte warten ..
Mitglied: colinardo
01.04.2014, aktualisiert um 13:57 Uhr
Zitat von Sudden:

> Nimm die fertige EndPointController.exe aus dem ZIP-File. Zur Info: Das ist ein C++ Codeproject ...

Ich verstehe nicht was ich damit machen soll.
steht doch oben in meinem Link...http://www.administrator.de/contentid/233286#comment-912669
Zum Umschalten des Outputs führst du die EndpointController.exe mit einer Nummer als Parameter aus welches Device du aktivieren willst...
(das ganze z.B. mit Process.Start)
Bitte warten ..
Mitglied: Sudden
01.04.2014 um 14:18 Uhr
Ahhh, perfect. jezz hab ichs gechekt. und diese controller exe kann ich dann in mein programm einbauen?
Bitte warten ..
Mitglied: colinardo
01.04.2014, aktualisiert um 14:24 Uhr
Zitat von Sudden:

Ahhh, perfect. jezz hab ichs gechekt. und diese controller exe kann ich dann in mein programm einbauen?
einfach mit ins Programmverzeichnis kopieren und von dort aus ausführen lassen ...
Bitte warten ..
Mitglied: Sudden
01.04.2014 um 14:29 Uhr
Okay, soweit hab ich das verstanden. Aber wenn ich jezz mein Programm starte, bekomme ich die Devices aufgelistet. wenn ich jetzt sagen wir mal Device 2 anklicke... wie kann ich das dann machen dass der EndPointController durch diesen Klick mir das passende Device auswählt. also ich meine wie lautet dann der Befehl?
Bitte warten ..
Mitglied: colinardo
01.04.2014, aktualisiert um 14:50 Uhr
dir muss man aber alles auf dem Silbertablett servieren ...
process.start("pfadzurEndpointController.exe","2")
Die Reihenfolge der Devices müsste die selbe sein.. Anstatt der hier hardgecodeten 2 nimmst du dann den entsprechenden Index der Combobox.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Drucker auslesen, speichern, installieren und default setzen - Hilfe!
Frage von LenchenBatch & Shell3 Kommentare

Wir müssen innerhalb der nächsten drei Wochen sämtliche Notebooks im Unternehmen neu installieren. Jetzt werden wir vor ein Problem ...

Windows 7
Massive Probleme mit neuem Rechner (Abstürze, Freeze, DirectX)
Frage von FlorekWindows 77 Kommentare

Hallo werte Community, ich habe mir vor kurzem Mal seit langem Mal wieder einen neuen Rechner zugelegt, da der ...

Microsoft Office
MSO 2013 - Excel langsame Zellauswahl - DirectX 11
Frage von dori.dkMicrosoft Office4 Kommentare

Hallo zusammen, nachdem ich mich im Netz nen Wolf gesucht habe bin ich zwar mit meinem Problem etwas weiter ...

Datenbanken
Hilfe bei Datenbankabfrage
gelöst Frage von e51bomagDatenbanken11 Kommentare

Hallo liebe Community, hab gerade ein Blackout bzgl. Realisierung einer Abfrage. Folgende Datenbank: noten: nid, loginname, fid, note, type ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 1 TagMicrosoft Office9 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 1 TagDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 1 TagSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 1 TagMicrosoft Office3 Kommentare

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner15 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...