Как воспроизвести аудиофайл в окнах из командной строки?

В Windows есть простой способ (например, что-то, что вы можете ввести в одной командной строке), чтобы просто воспроизвести несколько файлов .mp3, а затем выйти самостоятельно?

wmplayer, например, кажется, что не завершает работу, заставляя измученного пользователя выслеживать его и каждый раз закрывать его. (wmplayer 11 также кажется странным образом повторять некоторые файлы, если вы передадите ему список.) (Более старые (1990-е годы) версии "mplayer" используются для поддержки командной строки "/close", но, похоже, это не работает в wmplayer 11.)

Я бы предпочел использовать то, что каждый будет иметь на своей машине (например, wmplayer, quicktime...)

Ответ 1

Старый вопрос, новый ответ - вы можете использовать PowerShell:

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

Ответ 2

Я использовал cmdmp3. Очень легкий вес при 28 КБ.

Ответ 3

Ответ 4

Используйте 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 завершается, Media Player заканчивается, вы должны его ждать (мне это не нужно, мои звуки длится всего несколько секунд).

Я использовал это для моего особого случая сегодня: https://groups.google.com/forum/#!topic/microsoft.public.scripting.vbscript/gfOOvnN8t-U

Ответ 5

Это то, что я сделал для этого:

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

Примечание. Для связи с wmplayer.exe(проигрыватель Windows Media) требуется .mp3.

Ответ 6

Я использую эту улучшенную версию ответа Майры Дельгадо:

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"

Ответ 7

Возможно, вы можете написать небольшой VBScript, который будет использовать элемент управления ActiveX проигрывателя Windows Media для воспроизведения аудиофайла. Вы также сможете завершить этот процесс после завершения игры.

Я немного оглядываюсь и, возможно, придумаю рабочее решение. Может потребоваться некоторое время.

Ответ 8

Я обнаружил, что самый быстрый способ воспроизведения .mp3 файлов в командной строке Windows - mpeg123

Я знаю, что он недоступен на компьютере пользователя по умолчанию, но, с моей точки зрения, собственные игроки Microsoft не всегда доступны в разных версиях.

Я использую его в проекте, где время выполнения существенно, а функции, подобные только воспроизведению определенных кадров, очень полезны. Я нахожу это (в моей конфигурации) быстрее, чем примеры cmdmp3 и vbscript, упомянутые в этом потоке.

Мой синтаксис для воспроизведения определенных кадров файла .mp3: mpg123.exe -k 2 -n 3 -q -1 -4 beep.mp3

Ответ 9

Вот несколько скриптов.

mediarunner.bat - он использует активные объекты Windows media player, поэтому вы не можете использовать, если нет установленных Windows Media Player (хотя он обычно поставляется вместе с Windows). Принимает только один аргумент - путь к файлу, который вы хотите воспроизвести.

spplayer.bat - использует объекты SP Voice, но может воспроизводить только файлы .avav.Again он принимает как только аргумент путь к файлу, который вы хотите воспроизвести.

soundplayer.bat - использует объекты Internet Explorer и определенный тег bgsound, которые могут использоваться только в Internet Explorer. Может играть .mp3, wav,.. файлы. Он может принимать два аргумента. Файл, который вы хотите воспроизвести, и громкость звука (число от -10000 до 0):

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

Ответ 10

Вы можете использовать fmedia для воспроизведения аудиофайлов с терминала Windows:

fmedia file1.mp3 file2.mp3

Эта команда начнет воспроизведение file.mp3, затем file2.mp3, а затем завершит работу после завершения воспроизведения файлов.

Если вы хотите сделать это в фоновом режиме, добавьте переключатель --background в вашу команду:

fmedia file.ogg --background

Эта команда запустит новый процесс в фоновом режиме и немедленно отсоединится от вашей консоли.

fmedia - портативное приложение (работает без установки) и потребляет очень мало системных ресурсов. Кроме того, его время запуска является мгновенным.

PS Используйте команду fmedia.exe --install чтобы добавить ее в %PATH% среды %PATH%, в противном случае вам нужно выполнить ее с полным путем, например, D:\fmedia\fmedia.exe