如何检测媒体播放器是否已停止播放?
请回答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 :(得分:0)
Windows Media Player不支持在媒体播放停止时自动关闭。 1 并且它不包含用于控制或读取现有播放器进程状态的任何命令行选项。
至少有四种选择。
使用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"
使用AutoIt等实用程序通过其用户界面控制媒体播放器实例。
1 As of 2011官方党派认为这是设计上的。
2 欢迎拉取请求和错误报告。