====== Émettre un signal sonore ====== --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2020/06/04 09:15// ===== Généralités ===== ==== Génération 8bits ==== Powershell peut émettre des signaux sonores (Beep), ce qui peut être utile pour avertir d'un problème, signaler un état, etc... Cette fonctionnalité est obtenu par la méthode ''Beep()'' disponible dans la bibliothèque ''[Console]''. La méthode prend en argument la fréquence d'émission (440 pour un La) et la durée d'émission en millisecondes. === Exemple : === # Émettre un La pendant 1s [Console]::Beep(440,1000) ==== Son de haute qualité ==== Le ''8bits'', c'est sympa pour les nostalgiques mais certains peuvent préférer utiliser leur carte son à son plein potentiel. La bibliothèque ''[System.Media.SoundPlayer]'' peut alors être utilisée avec sa méthode ''Play()''. === Exemple : === # Jouer la notification de Windows $Sound = New-Object System.Media.SoundPlayer "$env:windir\Media\notify.wav" $Sound.Play() ==== Synthèse vocale ==== Si vous êtes du genre à vouloir discuter avec votre ordinateur, une autre bibliothèque peut vous intéresser. ''[System.Speech]'' regroupe les méthodes nécessaires pour la synthèse vocale dont la méthode ''Speak()''. === Exemple : === # Hommage à Isaac Asimov Add-Type -AssemblyName System.Speech $Viki = New-Object System.Speech.Synthesis.SpeechSynthesizer $Viki.Speak("J'obéis aux trois lois de la robotique... si je veux") ===== Pour le fun ===== ==== Jouer la marche impériale de Star Wars ==== [Console]::Beep(440,500) [Console]::Beep(440,500) [Console]::Beep(440,500) [Console]::Beep(349,350) [Console]::Beep(523,150) [Console]::Beep(440,500) [Console]::Beep(349,350) [Console]::Beep(523,150) [Console]::Beep(440,1000) [Console]::Beep(659,500) [Console]::Beep(659,500) [Console]::Beep(659,500) [Console]::Beep(698,350) [Console]::Beep(523,150) [Console]::Beep(415,500) [Console]::Beep(349,350) [Console]::Beep(523,150) [Console]::Beep(440,1000) ==== Jouer le thème de Mission Impossible ==== [Console]::Beep(784,150) Start-Sleep -Milliseconds 300 [Console]::Beep(784,150) Start-Sleep -Milliseconds 300 [Console]::Beep(932,150) Start-Sleep -Milliseconds 150 [Console]::Beep(1047,150) Start-Sleep -Milliseconds 150 [Console]::Beep(784,150) Start-Sleep -Milliseconds 300 [Console]::Beep(784,150) Start-Sleep -Milliseconds 300 [Console]::Beep(699,150) Start-Sleep -Milliseconds 150 [Console]::Beep(740,150) Start-Sleep -Milliseconds 150 [Console]::Beep(784,150) Start-Sleep -Milliseconds 300 [Console]::Beep(784,150) Start-Sleep -Milliseconds 300 [Console]::Beep(932,150) Start-Sleep -Milliseconds 150 [Console]::Beep(1047,150) Start-Sleep -Milliseconds 150 [Console]::Beep(784,150) Start-Sleep -Milliseconds 300 [Console]::Beep(784,150) Start-Sleep -Milliseconds 300 [Console]::Beep(699,150) Start-Sleep -Milliseconds 150 [Console]::Beep(740,150) Start-Sleep -Milliseconds 150 [Console]::Beep(932,150) [Console]::Beep(784,150) [Console]::Beep(587,1200) Start-Sleep -Milliseconds 75 [Console]::Beep(932,150) [Console]::Beep(784,150) [Console]::Beep(554,1200) Start-Sleep -Milliseconds 75 [Console]::Beep(932,150) [Console]::Beep(784,150) [Console]::Beep(523,1200) Start-Sleep -Milliseconds 150 [Console]::Beep(466,150) [Console]::Beep(523,150) ~~DISCUSSION~~