Chcę ustalić, czy inny program odtwarza dźwięk powyżej określonego progu. Nie szukam sprawdzania ustawień głośności na komputerze lub czegoś w tym stylu. Muszę tylko sprawdzić, czy jakakolwiek aplikacja gra coś wyższego niż to, czego się spodziewam. Czy ktoś wie, czy jest to możliwe i jak to zrobić?Określić, kiedy głośny dźwięk jest odtwarzany w C#
Odpowiedz
Zapoznaj się z projektem this na codeproject. Jest to miernik objętości używający zarządzanego DirectX i napisany w całości w języku C#.
This looks like a good place to start your investigation. Nie sądzę jednak, że już znajdziesz to, czego szukasz, wbudowane w .Net.
Istnieje wiele źródeł możliwego dźwięku na lokalnym komputerze i ostatecznie będą one komunikować się przez system dźwiękowy Windows do miksera i przez kartę dźwiękową. Jedynym sposobem, w jaki znam monitorowanie wszystkich dźwięków w systemie Windows, jest napisanie sterownika filtra przy użyciu zestawu sterowników sterowników urządzeń. To przechwyci wszystkie żądania do systemu dźwiękowego, przejdzie przez dane, które są wysyłane do gry i może ustawić flagi/zapis do dziennika, gdy wykryje duże różnice (gdzie abs (dane [x + 1] - dane [x]) jest dużą wartością).
Rozwój sterowników odbywa się zwykle w C. W Internecie istnieje garść przykładowego kodu, jeśli chcesz jechać tą trasą.
- 1. dźwięk nie jest odtwarzany po zapisie wideo z AVCaptureMovieFileOutput
- 2. Android - sprawdź, czy obecnie odtwarzany jest dźwięk i zatrzymaj go.
- 3. Dźwięk nośnika phonegap przestaje być odtwarzany po 5 razach
- 4. Pętla audio z funkcją XNA w systemie Windows Phone 8, gdy dźwięk nadal jest odtwarzany
- 5. Jak wykryć, czy w tle odtwarzany jest inny dźwięk? (Windows Phone 7)
- 6. Niestandardowy dźwięk ULEPSZENIA w systemie iOS nie jest odtwarzany (prawdopodobnie powiązany z aktualizacją Xcode).
- 7. Dlaczego HTML 5 Audio ignoruje ustawienia audio urządzenia przenośnego, takie jak cichy czy głośny?
- 8. React rodzimy określić, kiedy tekst jest odcięty
- 9. Określić, kiedy wideo zakończyło buforowanie
- 10. Dźwięk IOS przestaje być odtwarzany, gdy ekran zgaśnie w trybie szybkim.
- 11. Określić, kiedy ViewPager zmienia strony
- 12. Dlaczego mój MPMoviePlayerController nie jest odtwarzany?
- 13. AudioTrack - jak sprawdzić, kiedy dźwięk się zaczyna/kończy?
- 14. Jak zatrzymać dźwięk HTML5, gdy aplikacja internetowa na iPhone'a iOS4 jest umieszczana w tle?
- 15. Odtwarzaj dźwięk, kiedy urządzenie pracuje w trybie cichym - ios swift
- 16. Jak określić, który motyw jest włączony, kiedy ZSH_THEME = "losowy"
- 17. Jak wyliczyć dźwięk z urządzenia w C#
- 18. Dźwięk Symulatora iOS
- 19. Kiedy chr (ord (c)) nie jest równy c w Pythonie?
- 20. Wątki są powolne, gdy dźwięk jest wyłączony
- 21. Jak określić, kiedy układ został narysowany?
- 22. Odtwarzaj dźwięk w powiadomieniach systemu Android, chociaż ustawiony jest tryb cichy telefonu
- 23. Odtwarzaj i nagrywaj dźwięk w tym samym czasie
- 24. Trello API: określić, kiedy karta zmieniła listy?
- 25. Prosty dźwięk Pygame z częstotliwością
- 26. Swift - AVAudioPlayer nadal odtwarza dźwięk, gdy urządzenie jest wyłączone?
- 27. Jak określić opóźnienie dźwięku (ścieżka dźwiękowa) w systemie Android?
- 28. Dźwięk HTML5 - odtwarzaj dźwięk wielokrotnie po kliknięciu, niezależnie od tego, czy poprzednia iteracja zakończyła się.
- 29. kiedy używać void * w C++
- 30. Kiedy używać zewnętrznego "C" w C++?
Moja natychmiastowa odpowiedź jest taka, że nie ma "gotowego" sposobu robienia tego z .Net. Prawdopodobnie potrzebujesz dostępu na niższym poziomie do sprzętu dźwiękowego. Nawet wtedy nie wydaje mi się, że można uzyskać rzeczywisty głośność fizyczną, ponieważ można to kontrolować zewnętrznie z komputera (za pomocą pokrętła wolumenu). :) – Anthony
Wydaje mi się, że program, który to zrobi, musiałby zagłębić się w infrastrukturę systemu, np. W pobliżu sterownika karty dźwiękowej. Może DirectX pozwala ci iść tam ... – flq