【问题标题】:How to play one MP3 file after the other using Windows Media Player?如何使用 Windows Media Player 依次播放一个 MP3 文件?
【发布时间】:2015-11-27 14:17:25
【问题描述】:

我一直试图让这段代码正常工作,但每次调整都失败了。我需要这段代码来打开指定目录中的所有 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 队列系统,它们会在一个进程中打开)并且会一直打开它们,直到到达最后一个文件,然后开始播放最后一个文件文件。因为批处理当然已经结束了,没有循环。

【问题讨论】:

  • 查看媒体播放器的参数。如果我错了,有人纠正我,但我认为它是在 Windows 资源管理器的“全部播放”功能中实现的,同时多选音乐文件。您应该能够一次将所有文件发送到当前播放列表。那应该可以解决您的问题。调查媒体播放器的论点
  • @Mofi 不,那不是我。

标签: windows batch-file


【解决方案1】:

只需制作一个 .M3U 播放列表。您可能还会发现让用户browse for the album folder 而不是让他输入它很有用。

@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"

【讨论】:

  • 太棒了!这正是我所需要的!也感谢即兴创作的东西。
【解决方案2】:

因为你有媒体播放器试试这个:

@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 有一些属性可以按您喜欢的方式进行更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多