Je veux déterminer si un autre programme joue un son au-dessus d'un certain seuil. Je ne cherche pas à vérifier les paramètres de volume sur l'ordinateur ou quelque chose comme ça. J'ai juste besoin de voir si une application joue quelque chose de plus élevé que ce que j'attends. Quelqu'un sait si c'est possible ou comment le faire?Déterminez quand un son fort est joué en C#
Répondre
Découvrez le projet this sur codeproject. C'est un compteur de volume utilisant DirectX géré et entièrement écrit en C#.
This looks like a good place to start your investigation. Je ne pense pas que vous trouviez déjà ce que vous cherchez dans .Net.
Il existe de nombreuses sources de son possibles sur la machine locale et, en fin de compte, celles-ci communiquent via le système audio Windows vers une console de mixage et sortent via la carte son. La seule façon dont je sais de surveiller tous les sons sur un système Windows est d'écrire un pilote de filtre en utilisant le kit de développement de pilote de périphérique. Cela intercepterait toutes les demandes au système audio, passerait en revue les données qui sont envoyées pour le jeu et pourrait définir des drapeaux/écrire dans un journal lorsqu'il repère de grandes différences (où abs (données [x + 1] - données [x]) est une grande valeur).
Le développement du pilote se fait généralement en C. Il y a beaucoup d'exemples de code disponibles sur le web si vous voulez suivre cette route.
- 1. Déterminez quand un utilisateur saisit
- 2. Coffre-fort en C#
- 3. Déterminez quand une case est décochée et effacez un champ
- 4. Comment puis-je savoir si un son est joué dans Android?
- 5. Diminuer le volume du son joué par AudioToolbox
- 6. Démarrage lent pour AVAudioPlayer la première fois un son est joué
- 7. Contrôle RichEdit: déterminez quand le texte est modifié?
- 8. ALSA: Comment savoir quand un son est fini de jouer
- 9. Comment jouer un son en C#, .NET
- 10. La musique de l'iPod s'arrêtera après avoir joué un son court!
- 11. géré C++ nom fort/signature
- 12. hadoop - déterminez si un fichier est en cours d'écriture
- 13. Déterminez si un serveur écoute sur un port donné
- 14. Comment déterminez-vous quand un objet est dessiné à l'écran dans OpenGL?
- 15. Déterminez rapidement si le code est Visual C++ ou non
- 16. Jquery: Comment est-ce que je lance/joue un fichier son quand je veux?
- 17. Jouer simultanément son en C#
- 18. Comment déterminez-vous quand un nom de fichier a été modifié pour la dernière fois en C#?
- 19. Déterminez si DataColumn est numérique
- 20. Quand devez-vous protéger un fichier de clé de nom fort avec un mot de passe?
- 21. Activer un formulaire enfant en donnant son nom ou son texte en C#
- 22. Déterminez comment une application est fermée
- 23. Déterminez quand le film Flash SWF s'est terminé avec JavaScript
- 24. Déterminez quand les fichiers du dossier changent à la demande
- 25. Déterminez si le contrôle .NET ListView est en cours d'édition
- 26. est gen_tcp: Accepter/1 Coffre-fort?
- 27. Déterminez quand l'élément de cache de l'application expirera?
- 28. L'attribut de fichier est en lecture seulement quand son dossier est en lecture seule et le fichier n'est pas
- 29. Vérifiez si le son est en cours de lecture
- 30. Jouer du son en C++
Ma réponse immédiate est qu'il n'y a pas de solution «prête à l'emploi» avec .Net. Probablement besoin d'un accès de niveau inférieur au matériel sonore. Même alors, je ne pense pas que vous pouvez obtenir le volume physique réel joué, car cela peut être contrôlé à l'extérieur de l'ordinateur (en utilisant le bouton volumne). :) – Anthony
Je pense qu'un programme qui fait cela devrait creuser assez profondément dans l'infrastructure du système, comme, à proximité du pilote de la carte son. Peut-être que DirectX vous permet d'y aller ... – flq