PowerShell中实现播放WAV音频文件

适用于所有PowerShell版本

其实在PowerShell中播放WAV文件非常简单:

代码如下:

# 在Windows 目录找到一个可用的WAV音频文件
$WAVPath = Get-ChildItem -Path $env:windir -Filter *.wav -Recurse -ErrorAction SilentlyContinue |
 Select-Object -First 1 -ExpandProperty FullName
  
# 加载并播放
"Playing $WAVPath..."
  
$player = New-Object Media.SoundPlayer $WAVPath
$player.Play()
  
"Done!"

第一部分,从Windows 文件夹中递归地找出第一个WAV文件,然后选择它的路径。当然,你也可以将你自己收藏的WAV文件在第一行赋值给 $WAVFile。接下来使用Media.SoundPlayer加载并播放。注意,Play()方法使用的是子线程进行播放,所以方法会立即返回,但是音频可能还没有开始播放,或者播放结束。

你可以使用它来创建一个有声的进度条:当PowerShell在做某个任务时,可以一直播放某段音乐直到任务完成:

代码如下:

# 在Windows 目录找到一个可用的WAV音频文件
$WAVPath = Get-ChildItem -Path $env:windir -Filter *.wav -Recurse -ErrorAction SilentlyContinue |
  Select-Object -First 1 -ExpandProperty FullName
 
 
# 加载并播放
 
$player = New-Object Media.SoundPlayer $WAVPath
$player.PlayLooping()
  
1..100 | ForEach-Object {
  Write-Progress -Activity 'Doing Something. Hang in' -Status $_ -PercentComplete $_
  Start-Sleep -MilliSeconds (Get-Random -Minimum 300 -Maximum 1300)
  }
$player.Stop()

这次,我们使用了 PlayLooping() 进行循环播放,你需要调用 Stop()方法手动停止。这也是为什么我们在脚本结束时调用了$player.stop()方法。

(0)

相关推荐

  • PowerShell中实现播放WAV音频文件

    适用于所有PowerShell版本 其实在PowerShell中播放WAV文件非常简单: 复制代码 代码如下: # 在Windows 目录找到一个可用的WAV音频文件 $WAVPath = Get-ChildItem -Path $env:windir -Filter *.wav -Recurse -ErrorAction SilentlyContinue |  Select-Object -First 1 -ExpandProperty FullName    # 加载并播放 "Playing

  • python3 写一个WAV音频文件播放器的代码

    环境:ubuntu 16.04 python3.5 pycharm 包 : wave pyaudio sys 上代码:AudioPlayer.py # coding:utf-8 # author:king # brief : 播放wav音频文件 import wave from pyaudio import PyAudio import sys def player(filename): chunk = 1024 wf = wave.open(filename, 'rb') p = PyAudi

  • java实现切割wav音频文件的方法详解【附外部jar包下载】

    本文实例讲述了java实现切割wav音频文件的方法.分享给大家供大家参考,具体如下: import it.sauronsoftware.jave.Encoder; import it.sauronsoftware.jave.MultimediaInfo; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import j

  • C++读取WAV音频文件的头部数据的实现方法

    C++读取WAV音频文件的头部数据的实现方法 前言: 在这里分享一下自己的心得,希望和大家一起分享技术,如果有什么不足,还请大家指正.写出这篇目的,就是希望大家一起成长,我也相信技术之间没有高低,只有互补,只有分享,才能使彼此更加成长. 实现代码: #include <iostream> #include <string> #include <fstream> using namespace std; using std::string; using std::fstr

  • Python 读取WAV音频文件 画频谱的实例

    Python 读取WAV文件 import wave import struct from scipy import * from pylab import * #读取wav文件,我这儿读了个自己用python写的音阶的wav filename = '1.wav' wavefile = wave.open(filename, 'r') # open for writing #读取wav文件的四种信息的函数.期中numframes表示一共读取了几个frames,在后面要用到滴. nchannels

  • C# 基于NAudio实现对Wav音频文件剪切(限PCM格式)

    目录 前言 实现代码 效果图 前言 C#基于NAudio工具对Wav音频文件进行剪切,将一个音频文件剪切成多个音频文件 注:调用方法前需要导入NAudio.dll或者在NuGet程序管理器搜索NAudio并安装 本文是按时间剪切 实现代码 using NAudio.Wave; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Ta

  • PowerShell中按修改时间查找文件的方法

    本文介绍一个PowerShell中按文件的的修改时间来查找文件,这里要用到文件对象的LastWriteTime这个属性. 在很多时候,我都都需要按修改时间来查找文件.比如一个网站,近期发现被人挂马了,我们可能会看看近期的备份是否有被修改,从而确定一下被黑的大致时间段.有了这个时间段后,我们要看看这段时间之内有哪些文件被修改过,有哪些新增上来的文件,很有可能黑客留下下的一句话木马,甚至大马就在里面. 下面我们来看看PowerShell中如何根据文件修改时间来查找文件. 小编先来看看d盘根目录下有些

  • PowerShell中使用Test-Path命令检查文件或文件夹路径是否存在示例

    检查文件或文件夹路径是否存在,在编程中是经常用到的功能.PowerShell对于这个需求提供了一个非常便捷的cmdlet,那就是Test-Path!呵呵,看个名字,你就明白它有多么专业了.看看关于它的基本介绍先: Test-Path,检查路径是否存在. 语法:Test-Path <路径> 说明:这里的路径可以是:文件.文件夹.HKLM路径.环境变量env:路径 下面来举一些例子,让大家更方便懂: 复制代码 代码如下: Test-Path D:\q.txt Test-Path C:\Script

  • 解析WPF实现音频文件循环顺序播放的解决方法

    要做基于WPF的音频文件循环顺序播放首先要了解WPF下有哪些类是用于控制音频的. WPF下主要有两个音频控制的类,这里做下比较: 1.SoundPlayer 2.MediaPlayer 派生MediaElement 一.SoundPlayer类   1.基于.NET FRAMEWORK 2.0: 2.可播放WAV音频文件: 3.只能播放一个文件,同时播放多个文件会后一个文件的播放操作会终止前一个播放的文件: 4.不能对音量进行控制:二.MediaPlayer类 1.基于WPF: 2.支持多种音频

  • Powershell小技巧之播放WAV声音

    要让程序播放WAV声音文件,可以在PS中使用内置的声音类.它支持一个wav格式文件路径同时能让你控制声音的播放频率. $player = New-Object -TypeName System.Media.SoundPlayer $player.SoundLocation = 'C:\Windows\Media\chimes.wav' $player.Load() $player.PlayLooping() 一旦你的脚本开始执行,你可以这样停止播放: $player.Stop() 如果你想要在你

随机推荐