Dźwięk w maszynach wirtualnych na Hyper-V

W komentarzu do mojego ostatniego posta dot. Hyper-V pojawiło się pytanie o możliwość skorzystania z dźwięku w maszynie wirtualnej, czyli możliwości odtworzenia dźwięków z maszyny gościa na maszynie hostującej.

Jednym z ograniczeń samego Hyper-V (stworzone "by design") jest to, że maszyny goście nie mają wbudowanego wsparcia dla audio (nie ma wirtualnego urządzenia audio). Możecie zobaczyć na ekranie poniżej, że w maszynie wirtualnej ikonka głośnika jest z czerwonym krzyżykiem, a w urządzeniach dostępnych dla maszyny wirtualnej nie ma żadnych wirtualnych urządzeń audio (mimo, że inne wirtualne są obecne - typu wirtualna karta graficzna, wirtualna karta sieciowa, itp.)

image

 

W większości scenariuszy biznesowych (zwłaszcza gdzie maszyną gościem jest system serwerowy) nawet nie jest to potrzebne i rzadko kto zaprząta sobie tym głowę. Ale... przecież nie tylko systemy serwerowe mogą działać w wirtualnych maszynach, a czasami zwykli użytkownicy też potrzebują przenieść dźwięk z maszyny wirtualnej do hosta.

Jak więc dostać się do tego audio w maszynie wirtualnej?

Kluczem jest RDP

O ile sam Hyper-V nie zapewnia dźwięku o tyle, za pomocą podpięcia się do takiej maszyny za pomocą protokołu RDP (więcej na Wikipedii lub w TechNet), już możemy bez problemu przenieść audio z maszyny wirtualnej do hosta.

Konfiguracja

Żeby to zrobić - trzeba będzie najpierw zezwolić (na maszynie wirtualnej) na zdalne podłączanie się do niej. Konfiguracja jest banalnie prosta i sprowadza się do tego co widać na ekranach poniżej (jest to konfiguracja dla Windows 8, ale dla innych systemów też powinniście to znaleźć bez problemu):

image

Uwaga: To mini-menu po lewej stronie to fantastyczna nowość Windows 8 uruchamiana za pomocą kombinacji Win+X, która daje nam dostęp do bardzo często używanych elementów administracyjnych komputera. Bardzo niewiele osób o niej nadal wie, a moim zdaniem to super wygodne narzędzie. Zwłaszcza, że działają w nim też skróty z podkreślonymi literami - i tak na przykład do System dostaniemy się przez Win+X +Y.

Podłączenie

Teraz mamy już maszynę przygotowaną do podłączenia się do niej za pomocą RDP. Jak to robimy? Uruchamiamy aplikację Remote Desktop Connection, która dostępna jest zawsze w systemie (od Windows 2000). Najszybciej chyba korzystając z klawisza Windows i wpisując "remote" lub po prostu z okienka Run (Win+R) i wpisując polecenie mstsc.

Na ekranie konfiguracji wpisujemy nazwę naszej maszyny wirtualnej lub jej adres IP. I teraz najważniejsze - w zaawansowanych ustawieniach połączenia RDP (Show Options > Local Resources > Remote Audio > Settings...) powinniśmy sprawdzić czy mamy zaznaczoną opcję Remote audio playback > Play on this computer. Ona domyślnie powinna być zaznaczona właśnie, ale dla pewności możecie sobie sprawdzić.

image

Jeśli to mamy skonfigurowane - to podłączamy się do maszyny. Poproszeni zostaniemy zapewne o dane logowania do tej maszyny (możemy je sobie zapamiętać) oraz za pierwszym razem o akceptację certyfikatu tej maszyny (również zalecam zaznaczenie opcji "Don't ask me again for connections to this computer").0

I to w zasadzie tyle :) Jak sobie teraz zajrzyjcie do Menadżera urządzeń to zobaczycie, że pojawiło się nowe urządzenie o nazwie "Remote Audio", a ikonka dźwięku jest już dostępna i w urządzeniach odtwarzających pokazuje nam "Audio zdalne". I jak możecie zauważyć - to połączenie w nagłówku ma "Remote Desktop Connection" (czyli realizowane jest przez RDP) a nie "Virtual Machine Connection" (jak w pierwszym ekranie, gdzie realizowane było bezpośrednio przez Hyper-V).

image

 

Tak to wygląda jeśli chodzi o systemy klienckie - nie musimy nic więcej instalować i konfigurować, dźwięk po prostu będzie przekazywany teraz z maszyny wirtualnej do maszyny hosta. Natomiast jeśli jako maszynę gościa macie jakiś system serwerowy to...

Dźwięk w systemach serwerowych

Poza skonfigurowaniem połączenia RDP (jak w krokach powyżej) trzeba jeszcze wykonać jeden lub dwa dodatkowe kroki: włączyć urządzenie audio (domyślnie wyłączone w serwerze) oraz zmodyfikować ustawienia RDP (jeśli system jest starszy niż Windows Server 2012).

Włączenie "Window Audio"

Uruchomcie sobie w systemie gościu konsolę z usługami - Services (np. z za pomocą Win+R > services.msc), a następnie odszukajcie serwis o nazwie "Windows Audio" a w jego właściwościach uruchomcie go (Start). Zalecam również ustawienie startu tego serwisu na "Automatic" - jeśli oczywiście planujecie częściej korzystać z dźwięku na tej maszynie.

image

I to tyle jeśli macie najnowszy serwerowy system operacyjny od Microsoft, czyli Windows Server 2012. Jeśli macie jakiś starszy system to musicie wykonać jeszcze jeden dodatkowy krok.

Konfiguracja Terminal Services

Uwaga: To dodatkowy krok tylko dla starszych systemów serwerowych!

Musimy uruchomić Terminal Services Configuration (w Start > Administrative Tools > Terminal Services > Terminal Services Configuration). A następnie w sekcji "Connections" wybrać "RDP-Tcp" i jego właściwości.

Tam w zakładce "Client Settings" musimy w okienku "Redirection" odznaczyć opcje "Audio" (bo domyślnie jest zaznaczona).

image

Mam nadzieję, że dzięki temu mini-poradnikowi będziecie mogli bez problemu cieszyć się dźwiękiem z maszyn wirtualnych działających na Hyper-V.

Jak macie chwilę czasu to sugeruję pomyszkowanie w ustawieniach klienta RDP, bo możecie tam znaleźć kilka ciekawych i przydatnych opcji, które dają trochę więcej możliwości niż zwykłe podłączanie się do maszyn za pomocą klienta Hyper-V.

Bardzo ciekawą opcją (o której nie wszyscy wiedzą) jest na przykład działające (już po podłączeniu) ustawienie automatycznego skalowania wielkości okna połączenia RDP (tzw. Smart sizing). Sprawdźcie to sobie klikając w lewym górnym rogu połączenia RDP prawym przyciskiem myszy i wybierając "Smart sizing", a następnie spróbujcie sobie zmieniać wielkość okna połączenia RDP :)