2016-07-03 222 views
1

如何檢測媒體播放器是否停止播放?檢測通過cmd播放的媒體播放器

請爲Windows Media Player回答。我需要它通過cmd \ bat檢測。

我只需要在播放播放列表後關閉Windows Media Player。所以 到目前爲止,我有:

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

基本上我做節目,我可以放在Windows Media Player中一個特定的 播放某些文件,然後打開該程序,並播放所有 的文件,然後關閉電腦。到目前爲止,我已經設置了啓動WMP(Windows Media Player),播放播放列表,然後檢測WMP是否打開,如果不是,它會關閉PC。

如果是,它會在循環中再次檢測。

唯一的問題是在播放列表完成後關閉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 

回答

0

Windows媒體播放器不支持自動關閉媒體播放停止時。 它不包含任何控制或讀取現有播放器進程狀態的命令行選項。

至少有四個選項可用。

  1. 如果您想堅持使用Windows Media Player,您可以編寫嵌入Windows Media Player ActiveX控件的基本應用程序。 (可能大約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。它嵌入了Windows Media Player ActiveX控件,並具有一些基本的命令行控制。

As of 2011官方黨的路線是,這是由設計。

歡迎提出請求和錯誤報告。

+0

感謝您的回答,我會看看vlc播放器。 – TechnoCraft

+0

我現在有和以前一樣的問題,除了現在我使用的是VLC。到目前爲止,無論我看,沒有任何作品 - 播放和退出vlc:\\退出,vlc:退出,沒什麼作品。順便說一句,我在WINDOWS上。所以命令提示符,而不是命令行。 – TechnoCraft

+0

'vlc:// quit'使用正斜槓,而不是反斜槓,play和exit是'--play-and-exit'。在命令提示符下,嘗試:「啓動/等待vlc.exe」c:\ path \ to \ some \ media \ file「vlc:// quit'。如果這個作品讓我知道,我會用一個演示m3u播放列表編輯答案。另外,我意識到你在windows上,因此重複的「_Windows_ Media Player」引用。命令提示符指的是'cmd.exe',而命令行更一般地指代在啓動時傳遞給可執行文件的選項。 – theB