Как открыть mp3 файл через командную строку
Перейти к содержимому

Как открыть mp3 файл через командную строку

  • автор:

Музыкальные плееры для командной строки

Музыкальные плееры для командной строки

Маловероятно, но однажды перед вами может встать вопрос «Как воспроизвести аудио из командной строки?». На самом деле, это не такая и простая задача — большинство аудиопллеров расчитаны на использование графического интерфейса, и даже при использовании специальных параметров запуска из командной строки, все равно будут использовать графический интерфейс. В данной же статье будут рассмотрены именно те плееры, которые используют только командную строку, и не имеют графического интерфейса вовсе.

cmdmp3

Поддерживаемые платформы: Windows
Официальный сайт

    Если mp3 файл находится в одной директории с исполняемым файлом программы:
cmdmp3.exe "Lindemann - Platz Eins.mp3"
cmdmp3.exe "E:\Music\+OST\Strange Days (Music From The Motion Picture)\02 - Lords Of Acid - The Real Thing.mp3"

fmedia

Поддерживаемые платформы: FreeBSD, Linux, macOS, Windows
Официальный сайт

Аудио-проигрыватель, который имеет отдельную версию, работающую исключительно в командной строке. Позволяет воспроизвести различные аудиоформаты, так же отображает информацию по аудиофайлу и его воспроизведению. Скачать его для различных платформ можно на официальном сайте.

Синтаксис использования программы стандартный — сразу после исполняемого файла, нужно написать путь к проигрываемому файлу.

В Windows следует использовать символы двойных кавычек, в то время как в других операционных системах, следует использовать символ одинарных кавычек! Ниже приведены примеры использования программы в Windows.

Примеры проигрывания конкретного аудиофайла:

    Если mp3 файл находится в одной директории с исполняемым файлом программы:

fmedia.exe "Covenant - Lightbringer (feat. Necro Facility).mp3"
fmedia.exe "E:\Music\Front 242\1991 - Tyranny For You\06 - Tragedy For You.mp3"

Кроме того, в плеере доступно управление воспроизведением — например, стрелками влево-вправо можно включать перемотку воспроизведения, пробел включает паузу, а клавиша h отобразит справку по программе.

mpg123

Поддерживаемые платформы: FreeBSD, Linux, macOS, Windows
Официальный сайт

Данный аудиопроигрыватель является одним из первых аудиопроигрывателей под операционную систему Linux. Поскольку программа имеет открытый исходный код, то на текущий день существуют версии для других операционных систем, таких как FreeBSD, Windows и многих других.

Примеры проигрывания конкретного аудиофайла:

    Если mp3 файл находится в одной директории с исполняемым файлом программы:

mpg123 'She Past Away - Disko Anksiyete.mp3'
mpg123 '/mnt/music/Katatonia/2009 - Night Is the New Day/10 - Day and Then the Shade.mp3'

1. Можно ли через консоль изменить программы по умолчанию? 2. Можно как-то в cmd узнать папку для программ по умолчанию?

1) Да, импортировать в реестр соотв. .REG-файл; 2) Да, посмотреть значение системной переменной ProgramFiles.

9 авг 2017 в 10:31
а где хранятся в реестре программы по умолчанию?
9 авг 2017 в 10:48

В HKCR. А вот там возможны несколько альтернативных вариантов организации ассоциации типа с приложением.

9 авг 2017 в 11:09

а как сделать чтобы тип открывался от конкретного exe файла? просто в реестре везде указан тип, а через что открывать нет.

9 авг 2017 в 11:21

в реестре везде указан тип Ну теперь смотри раздел с этим типом — там будет, чем открывать. или ссылка на постоянный обработчик.

9 авг 2017 в 13:51

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Для ассоциации типа файла и программы необходимо использовать 2 команды: assoc и ftype .

Пример ассоциации нового расширения с именем типа:

assoc .NewExtension = NewTypeName (для удаления ассоциации просто assoc .NewExtension= )

Пример задания программы для открытия файлов нового типа:

ftype NewTypeName = [FilePath] (для удаления ассоциации ftype NewTypeName= )

Для просмотра текущей папки для установки приложении посмотрите значение системной переменной ProgramFiles .

На 64-разрадной машине из 64-разрядного приложения:

echo %programfiles% echo %programfiles(x86)% Output: C:\Program Files C:\Program Files (x86) 

На 64-разрядной машине из 32-разрядного приложения:

echo %programfiles% echo %programfiles(x86)% Output: Program Files (x86) C:\Program Files (x86) 

Как проигрывать MP3-файлы с командной строки Linux

Мало кто слыхал и еще меньше людей пользуются возможностью прослушивания MP3-файлов через командную строку. Это и не странно, ведь в любой операционной системе есть качественный и хорошо графически оформленный музыкальный плеер. Но и в этом способе прослушивания музыки есть свои преимущества.

Установка программы.

Для того чтобы установить программу Mpg123 запустите терминал и введите в нем следующую команду:

Фоновый плеер для cmd

Придумал вариант на основе mshta (окна hta application на время воспроизведения файла будет свернуто):

@echo off SetLocal EnableExtensions set "mp3=c:\windows\media\tada.wav" :: кол-во секунд воспроизведения set delay=2 call :PlaySnd "%mp3%" %delay% pause goto :eof :PlaySnd [Path] [Delay] set "SndPath=%~1" set "SndPath=%SndPath:\=\\%" start /min mshta "about:" set /a delay2=%~2+1 Timeout /? >NUL 2>&1 & if errorlevel 9009 (>NUL ping -n %delay2% 127.1) else (>NUL Timeout /T %~2 /Nobreak) for /f "tokens=2 delims=," %%a in ('tasklist /fo csv /nh /fi "IMAGENAME eq cmd.exe" 2^>NUL') do ( for /f "UseBackQ skip=2 tokens=2 delims=," %%b in (`wmic process where "ParentProcessId=%%~a and caption='mshta.exe'" get ProcessId /format:csv 2^>NUL`) do ( for /f "delims=" %%c in ("%%b") do taskkill /f /pid %%c >NUL )) exit /B

Последнее редактирование: 6 Мар 2016

Dragokas
Angry & Scary Developer

Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения 7,886 Реакции 6,644

Еще варианты на VBScript:

1) Для воспроизведения только wav формата:

VB.NET / VBA:

Set oVoice = CreateObject("SAPI.SpVoice") set oSpFileStream = CreateObject("SAPI.SpFileStream") oSpFileStream.Open "c:\Windows\Media\tada.wav" oVoice.SpeakStream oSpFileStream oSpFileStream.Close oVoice.Speak "Finished Playing wave file."

Класс воспроизведения mp3 / wmv / wav .

1)
Пример показывает возможность воспроизведения произвольных аудио-файлов в скриптах с использованием COM-объекта «WMPlayer.OCX» (Windows Media Player). Демонстрируется регулирование баланса и громкости, определение длины записи в секундах. Обратите внимание, что в целом объект обладает значительно большим функционалом (плейлисты, настройка частоты, настройка скорости проигрывания и т.п.), чем показано в этом примере.

VB.NET / VBA:

Set WMPlayer = New WMPlayerClass Dim FilePath '/// Так же можно указать URl - ссылку на файл в интернете FilePath = "C:\WINDOWS\Media\chimes.wav" '/// Открываем ресурс WMPlayer.OpenMedia FilePath '/// Выводим длительность файла msgbox "Длительность файла: " & WMPlayer.CurrentMedia.DurationString,vbInformation,"WMPlayerClass" '/// проверка изменения громкости msgbox "Сейчас будет произведена проверка изменения громкости звука. Эффект эхо. 100% 50% 10%" WMPlayer.Settings.Volume = 100 WMPlayer.Play WMPlayer.Settings.Volume = 50 WMPlayer.Play WMPlayer.Settings.Volume = 10 WMPlayer.Play '/// проверка изменения баланса MsgBox "Сейчас будет произведена проверка баланса. (левого и правого динамика)",vbInformation,"WMPlayerClass" WMPlayer.Settings.Volume = 100 WMPlayer.Settings.Balance = -100 WMPlayer.Play WMPlayer.Settings.Balance = 100 WMPlayer.Play MsgBox "Проверка завершена.",vbInformation,"WMPlayerClass" '/// Класс проигрывателя Class WMPlayerClass '/// Переменная для хранения ссылки на объект плеера Dim WMPlayer Private Sub Class_Initialize() Set WMPlayer = CreateObject("WMPlayer.OCX") WMPlayer.settings.autoStart = False WMPlayer.settings.enableErrorDialogs = False End Sub '/// Свойство возвращает ссылку на объект настроек плеера Public Property Get Settings Set Settings = WMPlayer.Settings End Property '/// Метод подключения к ресурсу Function OpenMedia(URL) '/// Несколько из констант состояния открытия Const wmposMediaLoading = 11 Const wmposMediaLocating = 9 Const wmposPlaylistOpenNoMedia = 6 Const wmposMediaOpen = 13 Const wmposPlaylistOpening = 5 Const wmposOpeningUnknownURL = 21 Const wmposUndefined = 0 '/// Для корректного получения данных о содержимом, нужно открыть ресурс. WMPlayer.URL = URL '/// Убираем звук WMPlayer.settings.mute=true '/// Запускаем на проигрывание WMPlayer.controls.Play '/// Ждём состояния открытия файла. Если файл открыть не удалось вернётся wmposPlaylistOpenNoMedia Do WScript.Sleep 10 Loop Until WMPlayer.OpenState = wmposMediaOpen or WMPlayer.OpenState=wmposPlaylistOpenNoMedia '/// Останавливаем проигрывание WMPlayer.controls.Stop '/// Возвращаем звук WMPlayer.settings.mute=false End Function '/// Свойство возвращает ссылку на параметры открытого файла Public Property Get CurrentMedia Set CurrentMedia = WMPlayer.CurrentMedia End Property '/// Метод запуска проигрывания Function Play() WMPlayer.Controls.Play '/// Ожидаем окончания проигрывания (ждём пока плеер не перейдёт в состояние остановки) Do WScript.Sleep 100 Loop Until WMPlayer.playState = 1 End Function End Class

2)
Пример показывает возможность воспроизведения произвольных аудио-файлов в скриптах с использованием ActiveX Windows Media Player так, как он используется на HTML-страницах. Пример интересен использованием объекта «htmlfile», который может «эмулировать» HTML-страницу в скриптах, не имеющих графического интерфейса.

VB.NET / VBA:

'/// Создаём класс проигрывателя Set WMP = New WindowsMediaPlayerClass '/// Открываем и проигрываем файлы WMP.Play "C:\Windows\media\chimes.wav" WMP.Play "C:\Windows\media\ringin.wav" WMP.Play "C:\Windows\media\ding.wav" MsgBox "Playing Complete.",vbInformation,"Windows Media Player" '/// Класс Windows Media Player-a Class WindowsMediaPlayerClass '/// Т.к создать Windows Media Player имеет только CLASSID, то создадим его в контейнере HTMLDocument Private Document,WMP '/// Событие инициализации класса Private Sub Class_Initialize '/// Создаём HTMLDocument Set Document = Wscript.CreateObject("htmlfile") '/// Выполняем методы Open и Close, чтобы создалось Body Document.open Document.close '/// Создаём с помошью документа объект проигрывателя Set WMP = Document.createElement("OBJECT") '/// Добавляем его в документ Document.body.appendChild WMP '/// Указываем его классид ( Кстати таким способом можно создавать и другие объекты имеющие только CLASSID) '/// Хотя наверняка есть и более удобные способы WMP.classid = "CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" 'WMP.AutoRewind = True 'WMP.AutoStart = True End Sub '/// Метод запуска проигрывания файла Public Sub Play(FileName) '/// Если имя файла не указано, то выходим из процедуры if FileName = "" Then Exit Sub '/// Передаём имя файла для проигрывания WMP.FileName = FileName '/// Запуск проигрывания WMP.Play '/// Запускаем цикл и ждём пока проигрывание остановится Do '/// Притормаживаем выполнение, чтобы цикл не отнимал 100% процессорного времени Wscript.Sleep 100 Loop Until WMP.PlayState = 0 End Sub End Class

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *