我通过命令行启动了 Window Media Player(实际上是从使用 Process.Start 的 C# 应用程序中启动的),并提供了一个文件名。现在,Windows Media Player 会建立一个由这个文件组成的新播放列表并播放它。接下来,我想将更多文件添加到当前播放列表中。当我调用
public void OpenAudioFile(string path)
{
string wmPlayerPath = Environment.ExpandEnvironmentVariables(@"%ProgramFiles(x86)%\Windows Media Player\wmplayer.exe");
Process.Start(wmPlayerPath, $"/Play {path}");
}
再次,Windows Media Player 只是替换正在播放的文件,而不是将新文件添加到列表中。
执行此操作的正确命令是什么?(必须有一个 - 否则它怎么会是资源管理器中的上下文菜单?)
编辑:我发现我可以通过一次提供多个文件名来创建播放列表,例如
public void OpenAudioFiles(IEnumerable<string> paths)
{
string wmPlayerPath = Environment.ExpandEnvironmentVariables(@"%ProgramFiles(x86)%\Windows Media Player\wmplayer.exe");
string args = "";
foreach (string path in paths)
{
args = args + " " + $"\"{path}\"";
}
Process.Start(wmPlayerPath, args);
}
对于许多情况来说这是一种解决方法,但并非适用于所有情况。