How to play audio file on windows from command line?

前端 未结 11 968
臣服心动
臣服心动 2020-12-10 02:41

In Windows, is there a simple way (i.e. something you could type on a single command line) to just play a couple of .mp3 files and then exit on its own?

wmplayer, f

相关标签:
11条回答
  • 2020-12-10 03:25

    Here are few scripts.

    mediarunner.bat - it uses windows media player active x objects so you cannot used if there's no installed Windows Media Player (though it usually comes packed with the Windows).Accepts only one argument - the path to the file you want to play.

    spplayer.bat - uses SP Voice objects but can play only .wav files.Again it accepts as only argument the path to the file you want to play.

    soundplayer.bat - uses Internet Explorer objects and specific bgsound tag that can be used only in internet explorer.Can play .mp3,wav,.. files. It can accepts two arguments. The file you want to play and the sound volume (a number between -10000 to 0) :

     call soundplayer.bat "C:\Windows\Media\Windows Navigation Start.wav" 0
    
    0 讨论(0)
  • 2020-12-10 03:27

    You can use fmedia to play audio files from Windows terminal:

    fmedia file1.mp3 file2.mp3
    

    This command will start the playback of file.mp3, then file2.mp3, and then quit after the files have finished playing.

    If you wish to do it in background, add --background switch to your command:

    fmedia file.ogg --background
    

    This command will start a new process in background and detach from your console immediately.

    fmedia is a portable application (works without installation) and consumes very small amount of system resources. Also, its startup time is instantaneous.

    P.S. Use command fmedia.exe --install to add it to your %PATH% environment variable, otherwise you need to execute it with full path, e.g. D:\fmedia\fmedia.exe

    0 讨论(0)
  • 2020-12-10 03:30

    I am using this improve version of Mayra Delgado's answer:

    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"
    
    0 讨论(0)
  • 2020-12-10 03:36
    • There are pure command line players. Some are listed here.

    • Also, WinAmp used to have command line controller called CLAMP. I am not sure if it's still alive or available but Google for it - it was pretty good.

    • Also, VLC has some command line capabilities though I never checked them out.

    0 讨论(0)
  • 2020-12-10 03:36

    You can probably write a small VBScript which will use the Windows Media Player ActiveX control to play an audio file. You should be able to terminate the process from that too, once playing finished.

    I'm looking around a bit and maybe can come up with a working solution. Might take a while, though.

    0 讨论(0)
提交回复
热议问题