mirror of
https://github.com/fleschutz/PowerShell.git
synced 2024-12-26 16:48:54 +01:00
1.4 KiB
1.4 KiB
Script: play-system-sounds.ps1
play-system-sounds.ps1
Parameters
[<CommonParameters>]
This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction,
WarningVariable, OutBuffer, PipelineVariable, and OutVariable.
Script Content
<#
.SYNOPSIS
Plays all system sounds
.DESCRIPTION
This PowerShell script plays all operating system sounds.
.EXAMPLE
PS> ./play-system-sounds.ps1
(listen and enjoy)
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
function PlaySoundFiles([string]$filePattern) {
$files = (Get-ChildItem "$filePattern")
foreach($file in $files) {
& "$PSScriptRoot/play-mp3.ps1" "$file"
Start-Sleep -milliseconds 500
}
}
try {
if ($IsLinux -or $IsMacOS) { throw "Currently only supported for Windows" }
$WinDir = Resolve-Path "$env:WINDIR"
if (-not(Test-Path "$WinDir" -pathType container)) { throw "Windows directory at 📂$Path doesn't exist" }
Write-Host "`n Windows System Sounds at $WinDir\Media" -foregroundColor green
PlaySoundFiles "$WinDir\Media\*.wav"
PlaySoundFiles "$WinDir\Media\*\*.wav"
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}
(generated by convert-ps2md.ps1 using the comment-based help of play-system-sounds.ps1 as of 08/15/2024 09:50:53)