如何使用Windows Media Player一个接一个地播放MP3文件



我一直在努力让这段代码正常工作,但每次调整都失败了。我需要这个代码来打开指定目录中的所有MP3,然后逐个播放文件。

这是代码:

set /p music=Enter location of playlist: 
cd %music%
for %%M in (*.mp3) do start "C:Program Files (x86)Windows Media Player" /wait "%%M"

问题是,这会同时打开目录中的所有MP3文件(但由于Windows Media Player队列系统,它们在一个进程中打开),并且会一直打开它们,直到到达最后一个文件,然后开始播放最后的文件。因为批处理过程当然已经结束了,它不是循环的。

只需制作一个.M3U播放列表。你可能还发现让用户浏览相册文件夹而不是让他键入它很有用

@echo off
setlocal
path %PATH%;"%PROGRAMFILES(x86)%Windows Media Player"
rem // folder chooser: https://stackoverflow.com/q/15885132/1683264
set "psCommand=powershell -noprofile "(new-object -COM Shell.Application)^
.BrowseForFolder(0,"Please choose your album folder.",0,0).self.path""
for /f "delims=" %%I in ('%psCommand%') do set "folder=%%I"
>"%temp%playlist.m3u" (for /r "%folder%" %%I in (*.mp3 *.m4a *.ogg *.flac) do echo %%~fI)
start "" wmplayer "%temp%playlist.m3u"

当你有媒体播放器时,试试这个:

@if (@X)==(@Y) @end /* JScript comment 
        @echo off 
        rem :: the first argument is the script name as it will be used for proper help message 
        cscript //E:JScript //nologo "%~f0" %* 
        exit /b %errorlevel% 
@if (@X)==(@Y) @end JScript comment */ 
var wmp = new ActiveXObject("WMPlayer.ocx");
wmp.URL = WScript.Arguments.Item(0);
wmp.openPlayer(wmp.URL);

您需要传递mp3文件的路径。WMPlayer.ocx有一些属性,可以按照您喜欢的方式进行更改。

相关内容

  • 没有找到相关文章

最新更新