Audio Endpoint Device - Friendly name

Audio Endpoint Device - Friendly name

offline
  • Lead Developer ⠀ ⠀⠀⠀⠀⠀⠀ Go 5 Creative
  • Pridružio: 14 Feb 2008
  • Poruke: 12242

Kako da dobijem Friendly Name Audio Endpoint uređaja ?



Do sada sam probao :
winmm
ManagementObjectSearcher

Najbolje rešenje koje sam video je WASAPI C++ Wrapper, ali ja ne poznajem dovoljno C++ da napišem to sam a primere na koje sam nailazio nisam mogao da iskoristim.

Dakle treba samo da mi se vrati List<string> ili bilo koja druga kolekcija sa tim prijateljskim nazivima uređaja. To nešto takođe treba da razlikuje Recording i Playback uređaje.

Ima li neko ideju ?

Inače glavna aplikacija je WPF projekat, pisan u C#.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Tako nešto nemaš u C#. Moraćeš malo da se poigraš Win32 interfejsima Smile Evo, ovde sam na brzaka sklepao par interfejsa koji će ti poslužiti za nalaženje endpointa. Pogledaj malo dokumentaciju za IMMDeviceEnumerator interfejs.

https://www.mycity.rs/must-login.png



offline
  • Lead Developer ⠀ ⠀⠀⠀⠀⠀⠀ Go 5 Creative
  • Pridružio: 14 Feb 2008
  • Poruke: 12242

Srki_82 ::Tako nešto nemaš u C#. Moraćeš malo da se poigraš Win32 interfejsima Smile Evo, ovde sam na brzaka sklepao par interfejsa koji će ti poslužiti za nalaženje endpointa. Pogledaj malo dokumentaciju za IMMDeviceEnumerator interfejs.

https://www.mycity.rs/must-login.png

Hvala Zagrljaj

Ovo je najjednostavniji i najčistiji kod na koji sam naišao od kad tražim rešenje Very Happy

Ako nekom drugom zatreba, kroz C# se može proći kroz uređaje na ovaj način :

anagementObjectSearcher objSearcher = new ManagementObjectSearcher(            "SELECT * FROM Win32_SoundDevice");     ManagementObjectCollection objCollection = objSearcher.Get();     foreach (ManagementObject obj in objCollection)     {         foreach (PropertyData property in obj.Properties)         {             Console.Out.WriteLine(String.Format("{0}:{1}", property.Name, property.Value));         }     }

Međutim tu nemate friendly device name, već samo hardverske informacije o uređaju :




Drugi način za C# je ovaj : http://stackoverflow.com/questions/29967317/c-shar.....ound-input

Ali postoji problem sa tim kodom, kod mene recimo uopšte ne vraća tačno uređaje a nije ni rešen problem "prekidanja ispisivanja".

Zatim sam našao na par open source projekata koji koriste WASAPI Wrapper pisan u Cpp-u, Screen Recorder i neki drugi projekat "Endpointcontroller" koji sam počeo da prebacujem u DLL sinoć.

U svakom slučaju, trebalo mi je ovo za GUI Wrapper aplikaciju koja menja aktivni uređaj preko malog widgeta na ekranu, uz pomoć jedne druge aplikacije koja kao argument prima naziv uređaja.

U Srkijevom primeru treba samo da filtriram uređaje koji nisu aktivni i da izvučem samo friendly name property za svaki uređaj.


Btw. možda grešim ali mislim da je ova tema na prvoj strani gugleta a sada ima i primer koji radi bez frke, što nije slučaj sa drugim linkovima.

Hvala Srki Ziveli

offline
  • Lead Developer ⠀ ⠀⠀⠀⠀⠀⠀ Go 5 Creative
  • Pridružio: 14 Feb 2008
  • Poruke: 12242

Hm, zašto release preset pravi ove fajlove uz DLL i da li su mi oni potrebni ?



Testirao sam bez njih i sve radi OK :

Ko je trenutno na forumu
 

Ukupno su 729 korisnika na forumu :: 57 registrovanih, 3 sakrivenih i 669 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 2413 - dana 03 Okt 2019 05:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., aleksandar.dzinic, aljosa7, aramis s, Atomski čoban, baza, cicus91, cole77, Cvijo_ue, dakota, dragoljub11987, Drug pukovnik, Eyes Wide Shut, Faki-Valjevo, FOX, goran.vvv, gorozup, husky, indja, Kaplar2, Koca Popovic, kristijan97, Kubovac, kunktator, Levi2, Marko Marković, mgaji21, Milan Kosić, Milos ZA, Milos1977, miodrag, nemkea71, nenad812, NenadG, nuke92, Oscar2, pedja2000_9, pein, radoznao2, Recce, repac, Shomy, Sirius, stegonosa, suton2, tomigun, Toni, Trpe Grozni, versus2, Vezista2, vladetije, W123, wizzardone, wolverined4, YU-UKI, Zikka, 1872