Tra le tante cose curiose, e magari inutili per alcuni, che si possono fare con PowerShell, vi è anche la possibilità di ascoltare i file MP3. Chiaramente non avete un player audio completo come VLC, per esempio, dove potete scegliere i brani, fermarli o modificare il volume, PowerShell si limita a riprodurre i brani che trova nella cartella che gli indicate nello script e per fermarli dovete solo chiudere PowerShell.

Se avete un vecchio computer, che volete trasformare in una stazione radio fatta in casa, destinato solo alla riproduzione dei file MP3, dovete prima di tutto installare il modulo MusicPlayer con il comando Install-Module MusicPlayer.

Se dovesse comparire l’avviso di Untrusted repository confermate con Y.

Come utilizzare PowerShell ascoltare file MP3

Una volta installato il modulo MusicPlayer con il comando get-help invoke-musicplayer -examples potete vedere alcuni esempi, e le opzioni, presenti nel modulo. Con -Shuffle -Loop potete ripetere più volte, e in modo casuale, i file audio presenti nella cartella scelta.

Come utilizzare PowerShell ascoltare file MP3

Il comando da usare per riprodurre la musica è Invoke-MusicPlayer d:\audio più tutte le opzioni che volete usare. Ovviamente potete cambiare il percorso della cartella a vostra scelta.

Come utilizzare PowerShell ascoltare file MP3

Ad ogni cambio di brano ci sarà una notifica di Windows.

Come utilizzare PowerShell ascoltare file MP3

Riprodurre singolo file

Se invece di creare una stazione radio volessimo riprodurre un singolo file MP3, da usare come sveglia, avviso che è ora di andare a pranzo, oppure per fare uno scherzo, possiamo usare uno di questi script.

  • Add-Type -AssemblyName presentationCore
  • $mediaPlayer = New-Object system.windows.media.mediaplayer
  • $mediaPlayer.open('d:\audio.mp3')
  • $mediaPlayer.Play()

Oppure

  • Add-Type -AssemblyName presentationCore
  • $filepath = [uri] "d:\audio\audio.mp3"
  • $wmplayer = New-Object System.Windows.Media.MediaPlayer
  • $wmplayer.Open($filepath)
  • Start-Sleep 2 # This allows the $wmplayer time to load the audio file
  • $duration = $wmplayer.NaturalDuration.TimeSpan.TotalSeconds
  • $wmplayer.Play()
  • Start-Sleep $duration
  • $wmplayer.Stop()
  • $wmplayer.Close()

Se vogliamo fare uno scherzo all’utilizzatore del computer, lo script va poi eseguito in modo invisibile all’utente, oppure possiamo pianificarne l’esecuzione per ricordarci qualche evento giornaliero.

L’unico modo per chiudere il file audio è, o lasciarlo finire, oppure, dalla Gestione attività terminare il processo pwsh.

Come utilizzare PowerShell ascoltare file MP3