Comment obtenir par programme le niveau audio actuel?
Fondamentalement, ce que j'ai besoin est une façon de puiser dans le courant de l'audio de sortie et vérifier le niveau sonore, c'est à dire j'ai besoin d'être en mesure de vérifier si il y a quelque chose de la lecture sur le périphérique audio ou non.
Je n'ai pas besoin de vérifier le réglage du volume, mais la lecture de flux audio du niveau sonore.
Désolé, je posais des questions sur la façon de le faire dans Windows, Visual Studio 2008.
@mikerobi: Qui forme une partie de mon raisonnement, si elle est affichée sur le système indicateur de volume, il doit y avoir un appel système qui peut le récupérer
source d'informationauteur David F.
Vous devez vous connecter pour publier un commentaire.
Voici un lien utile pour les API de Windows invokations, et c'est exactement ce que vous cherchez:
http://www.pinvoke.net/default.aspx/winmm.waveOutGetVolume
Car l'exigence changé et que vous n'avez pas besoin du niveau audio je suggère ce qui suit pourrait vous aider:
Je pense que vous avez besoin de lire ce qui est playedback sur le flux de sortie et en analysant les données de certains algorithmes, vous pourriez être en mesure de décider le temps quelque chose est en train playedback ou pas. Pour ce faire, vous avez besoin de la MMDevice API
http://msdn.microsoft.com/en-us/library/dd316556(v=VS.85).aspx
Je ne veux pas discorage vous, mais croyez-moi ce ne sera pas facile à accomplir si vous n'êtes pas familier avec le code non managé.
Et même si vous réalisez que vous ne pouvez pas anticiper le résultat du comportement de l'appareil.
Bonne chance.
C'est une bonne question. La réponse, pour la version 32 bits de Windows apps, est de s'accrocher dans winmm.dll et d'autres à faible niveau de contrôle audio Dll. En C# j'aimerais créer un wrapper de la classe contenant la méthode extern prototypes:
Ont un coup d'oeil à ce lien pour une liste de Windows audio méthodes; vous pouvez utiliser la console de mixage, ou tout simplement le wave-out contrôleur pour régler le volume. Ce que vous voulez utiliser dicter ce que les bibliothèques à l'importation. Vous aurez à la recherche de la meilleure façon de définir le prototype, et comment obtenir le handle de l'audio/périphérique de mixage.
J'ai récemment répondu à cette question ici, voir Comment détecter si tout son joue sur une machine Windows.