如何从命令行在Windows上播放audio文件?

Windows中,有没有一种简单的方法(例如,你可以在一个命令行中键入)来播放几个.mp3文件,然后自行退出?

例如,wmplayer在完成时似乎并没有退出,迫使harried用户search并每次点击它closures。 (wmplayer 11似乎也奇怪地重复了一些文件,如果你把它传递给一个列表。)(1990年代的版本“mplayer”用于支持“/ close”命令行选项,但它似乎并不工作wmplayer 11.)

我宁愿使用每个人都会在他们的机器上的东西(如wmplayer,quicktime …)

Solutions Collecting From Web of "如何从命令行在Windows上播放audio文件?"

老问题,新的答案 – 你可以使用PowerShell:

powershell -c (New-Object Media.SoundPlayer "c:\PathTo\YourSound.wav").PlaySync(); 

我用过cmdmp3 。 在28Kb非常轻量级。

使用VBScript:

 Set objArgs = Wscript.Arguments if (objArgs.Count = 0) then Wscript.echo "I need a sound file as argument!" WScript.Quit 123 end if Wscript.echo "Playing: " & objArgs(0) & "..." Set objPlayer = createobject("Wmplayer.OCX.7") With objPlayer ' saves typing .settings.autoStart = True .settings.volume = 50 ' 0 - 100 .settings.balance = 0 ' -100 to 100 .settings.enableErrorDialogs = False .enableContextMenu = False .URL = objArgs(0) WScript.Sleep(10000) ' time to load and start playing '.Controls.Pause() ' stop End With MsgBox "if WMP is still playing, clicking OK will end it", _ vbInformation, "WMP Demo finished" 

如果VBScript过程结束,媒体播放器也结束,你必须等待(我不需要它,我的声音只有几秒钟)。

我今天使用了这个例子: https : //groups.google.com/forum/#!topic/microsoft.public.scripting.vbscript/gfOOvnN8t-U

  • 有纯粹的命令行玩家。 有些在这里列出 。

  • 此外,WinAmp曾经有称为CLAMP的命令行控制器。 我不确定它是否还活着,但是Google可以用它 – 这非常好。

  • 另外,VLC有一些命令行功能,虽然我从来没有检查过它们。

这就是我所做的:

 rem Replace the following path with your music file start C:\Users\Username\Desktop\your-music.mp3 rem Replace 10 with how many seconds you want the player to run ping localhost -n 10 >nul taskkill /im wmplayer.exe 

注意这需要.mp3与wmplayer.exe(Windows Media Player)相关联。

我正在使用Mayra Delgado的这个改进版本的答案:

 Set objArgs = Wscript.Arguments if (objArgs.Count = 0) then Wscript.echo "I need a sound file as argument!" WScript.Quit 123 end if Wscript.echo "Playing: " & objArgs(0) & "..." Set objPlayer = createobject("Wmplayer.OCX.7") With objPlayer ' saves typing .settings.autoStart = True .settings.volume = 50 ' 0 - 100 .settings.balance = 0 ' -100 to 100 .settings.enableErrorDialogs = False .enableContextMenu = False .URL = objArgs(0) ' Wait until play finish While .Playstate <> 1 Wscript.Sleep 100 Wend End With MsgBox "if WMP is still playing, clicking OK will end it", _ vbInformation, "WMP Demo finished" 

我发现在Windows命令行中播放.mp3文件的最快方法是mpeg123

我知道它在默认情况下并不在人们的机器上,但是从我的角度来看,微软自己的玩家也不一定能够在不同的版本上使用。

我在一个执行时间很重要的项目上使用它,像只播放某些帧的功能非常有用。 我发现这个(在我的配置中)比本主题中提到的cmdmp3和vbscript示例更快。

我的语法只能播放.mp3文件的某些帧:mpg123.exe -k 2 -n 3 -q -1 -4 beep.mp3

这里有几个脚本。

mediarunner.bat – 它使用Windows媒体播放器的活动X对象,所以如果没有安装Windows媒体播放器(尽管它通常与Windows压缩),你不能使用。只接受一个参数 – 你想播放的文件的路径。

spplayer.bat – 使用SP Voice对象,但只能播放.wav文件。它只接受要播放文件的路径作为参数。

soundplayer.bat – 使用Internet Explorer对象和特定的bgsound标记,只能在Internet Explorer中使用。可以播放.mp3,wav,..文件。 它可以接受两个参数。 您要播放的文件和音量(-10000到0之间的数字):

  call soundplayer.bat "C:\Windows\Media\Windows Navigation Start.wav" 0 

您可能可以编写一个小的VBScript,它将使用Windows Media Player ActiveX控件来播放音频文件。 一旦播放完毕,你也应该可以从中终止这个过程。

我四处寻找,也许可以想出一个工作解决方案。 虽然可能需要一段时间。