(modifié le 8 juillet 2021 à 1:19)

Je me connecte très régulièrement à ma machine personnelle en bureau à distance quand je ne suis pas chez moi (via un tunnel SSH), ou quand je suis chez moi pour piloter de la musique depuis une autre machine. En bref j'utilise Deezer sur mon PC fixe, relié à des enceintes, le tout piloté par RDP depuis une autre machine. Le son est donc joué localement et non redirigé.

Problème : parfois le son ne fonctionne plus. J'ai beau jouer avec les réglages du son rien ne fonctionne... seul un reboot permet de retrouver le son. Mais ça c'était avant, voici la solution

Il se passe quoi ?

Je n'ai pas la moindre idée de l'origine du bug, je sais simplement que c'est lié au bureau à distance. Peut-être qu'au bout d'un moment il en marre de recevoir une quantité folle de données dans le presse-papiers, de coupures... et qu'il part en vacances 🙂

La solution

Après quelques recherches ce problème semble finalement assez connu.

La solution consiste à redéfinir le compte de connexion lié au service Audio de Windows "audiosrv".

Voici un script batch qui réalise la manipulation :

@echo off
if not "%1"=="am_admin" (powershell start -verb runas '%0' am_admin & exit /b)

sc stop Audiosrv
sc config Audiosrv obj= "NT AUTHORITY\LocalService" password= ""
sc start Audiosrv

Collez par exemple ceci dans son.bat sur votre bureau pour l'avoir rapidement sous le coude.

Le script :

  • arrête le service audiosrv
  • contrôle qu'il est bien lancé avec les droits administrateurs (et se relance avec si ce n'est pas le cas)
  • reconfigurer les identifiants avec le "Service local" et un mot de passe vide
  • démarre le service audiosrv

La prise en compte sera immédiate et Windows va immédiatement reprendre conscience des entrées/sorties audio disponibles.

Il vous faudra par contre rafraichir (F5) votre page Deezer/Spotify pour que Firefox comprenne qu'il a de nouveau accès à ses E/S.

Automatiser le tout

Vous pouvez tout à fait ajouter une tâche dans le planificateur de tâche de Windows qui se déclenche sur évènement (à la connexion RDP), avec l'utilisateur "système" les autorisations maximales (case à cocher). J'ai déjà expliqué comment réaliser une exécution au login dans cet article.

Ainsi vous n'aurez même plus à lancer le script à la main 😉

 

 

 

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter