Maison >développement back-end >C++ >Comment puis-je contrôler par programme le volume des applications sous Windows à l'aide de l'API Core Audio ?

Comment puis-je contrôler par programme le volume des applications sous Windows à l'aide de l'API Core Audio ?

DDD
DDDoriginal
2025-01-19 22:57:10557parcourir

How Can I Programmatically Control Application Volume in Windows Using the Core Audio API?

Contrôle du volume des applications Windows : un guide pratique

Windows propose un Volume Mixer intégré, une interface graphique permettant de gérer les volumes d'application individuels. Cela permet un contrôle précis des niveaux audio de plusieurs programmes simultanément.

API Core Audio et composants pertinents

Le mélangeur de volume exploite l'API Windows Core Audio. Les interfaces et classes clés incluent :

  • IMMDeviceEnumerator : Utilisé pour lister les périphériques audio disponibles.
  • IMMDevice : Représente un seul périphérique audio.
  • IAudioSessionManager2 : Gère les sessions audio et donne accès à leurs contrôles.
  • IAudioSessionEnumerator : Répertorie les sessions audio actives.
  • IAudioSessionControl : Contrôle une session audio individuelle.
  • ISimpleAudioVolume : Contrôle le volume et l'état de sourdine pour une session audio.

Un exemple d'application console C# présentant le contrôle du volume suit :

<code>...</code>

Ce segment de code démontre :

  • Récupération des sessions audio actives à l'aide de IAudioSessionEnumerator.
  • Obtention de l'objet ISimpleAudioVolume pour la session audio d'une application cible.
  • Mettre l'application en sourdine (SetMute(true)) et régler son volume à 50 % (SetMasterVolume(50 / 100, ref EventContext)).

Cet exemple peut être étendu pour inclure des fonctionnalités telles que la réactivation du son ou le réglage de différents niveaux de volume.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn