Обнаружение проигрывателя мультимедиа через cmd

Как я могу определить, остановился ли проигрыватель мультимедиа?

Пожалуйста, ответьте для Windows Media Player. Мне нужно, чтобы он обнаружил через cmd\bat.

Все, что мне нужно сделать, это закрыть Windows Media Player после воспроизведения плейлиста. пока у меня есть:

start wmplayer.exe /play /playlist "NiteTime Listener Playlist"

По сути, я делаю программу, в которой я могу поместить определенные файлы в определенный список воспроизведения в проигрывателе Windows Media, а затем открыть программу, и она воспроизводит все файлы, а затем выключает компьютер.

До сих пор я настроил запуск WMP(Windows Media Player), воспроизведение списка воспроизведения, а затем обнаружение, открыт ли WMP, если нет, выключает ПК.

Если это так, он обнаруживает снова, в цикле.

Единственная проблема - закрытие WMP после завершения воспроизведения.

Вот мой весь код:

@echo off
title Automatic Shutdown for NiteTime Listener
echo To cancel Shutdown, close this program before Player.
start mplayer2.exe /play /Playlist "NiteTime Listener Playlist"
:testfor
tasklist /FI "IMAGENAME eq wmplayer.exe" 2>NUL | find /I /N "wmplayer.exe">NUL
if "%ERRORLEVEL%"=="0" goto :ProgramRunning
if "%ERRORLEVEL%"=="1" goto :ProgramNotRunning
pause

:ProgramRunning
goto testfor

:ProgramNotRunning
shutdown /s /f

1 ответ

Решение

Проигрыватель Windows Media не поддерживает автоматическое закрытие при остановке воспроизведения мультимедиа.1 И он не включает никаких параметров командной строки для управления или чтения статуса существующих процессов игрока.

Есть как минимум четыре варианта.

  1. Если вы хотите использовать проигрыватель Windows Media, вы можете написать простое приложение, в которое встроен элемент управления ActiveX проигрывателя Windows Media. (Вероятно, около 100-150 строк кода, в основном шаблон, сгенерированный автоматически при создании проекта.)
  2. Используйте VLC и добавьте vlc://quit до конца вашего плейлиста.

    Плейлист m3u

    #EXTM3U
    C:\Path\To\My\Media\File1.mp3
    C:\Path\To\My\Media\File2.mp3
    vlc://quit
    

    Плейлист XSPF

    <?xml version="1.0" encoding="UTF-8"?>
    <playlist version="1" xmlns="http://xspf.org/ns/0/">
       <trackList>
         <track><location>file:///C:\Path\To\My\Media\File1.mp3</location></track>
         <track><location>file:///C:\Path\To\My\Media\File2.mp3</location></track>
         <track><location>vlc://quit</location></track>
       </trackList>
    </playlist>
    

    Запустите VLC из командной строки:

    start /wait "C:\path\to\vlc.exe" "c:\path\to\playlist\file.m3u"
    
  3. Используйте утилиту, такую ​​как AutoIt, чтобы управлять экземпляром медиаплеера через его пользовательский интерфейс.

  4. Используйте / измените ScriptableWMPlayer, который я написал. Он включает в себя элемент управления ActiveX проигрывателя Windows Media и имеет базовый элемент управления командной строки.2

1 По состоянию на 2011 год официальной партийной линией было то, что это было задумано.

2 Потяните запросы и сообщения об ошибках приветствуются.

Другие вопросы по тегам