在 VLC 媒体播放器中,我可以使用vlc -LZ <file 1> <file 2> <file 3>
重复和随机播放各种文件。是否可以指定整个目录并播放文件夹及其子文件夹中的所有音乐?
假设我正在举办一个派对并且有一个带有“派对音乐”的文件夹,我该如何循环播放该文件夹中的所有音乐并重复播放整个播放列表?
答案1
经过命令行,使用最新版本,它应该与您的命令选项和目录名称而不是文件名称一起工作:
vlc --LZ "Party Music"
如果您的路径包含空格,则需要将其包含在 之间""
。
仅当您修改了默认选项时,您可能还需要添加--playlist-autostart
。
该选项--playlist-tree
仅显示播放列表以树的形式显示。如果需要,请启用。
如果您不在的父目录中,则"Party Music"
必须指定与您的操作系统兼容的完整路径(例如"C:\Music\Party Music"
或"~/Music/All Music/Party Music"
或/media/user/usb/Party Music
)。
笔记:
VLC 通常会记住您上次决定的设置。如果您从命令行(或为此目的建立链接)它将克服通常的行为,遵循选项指定的处方而不进行更改。相反,如果您在运行期间更改某些设置,它将在下次记住。
从vlc --help
-L, --loop, --no-loop Repeat all (default disabled) -Z, --random, --no-random Play files randomly forever (default disabled) VLC will randomly play files in the playlist until interrupted. (default disabled) --playlist-autostart, --no-playlist-autostart Auto start (default enabled) --playlist-tree, --no-playlist-tree Display playlist tree (default disabled)
在 Ubuntu 上的 VLC 媒体播放器 2.1.6 Rincewind 上进行了测试,但它也应该适用于先前版本和不同的操作系统。
答案2
根据这篇博文--playlist-tree 将播放传入的文件夹中的所有内容。例如:
"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" --playlist-autostart --loop --playlist-tree c:\playlist\
另请注意,该示例适用于 Windows 系统,如果您使用基于 Unix 的系统,则可能需要稍微修改语法。
答案3
由于我没有让 tbenz9 的解决方案发挥作用,所以我编写了一个小批处理脚本来解决这个问题:
cd C:\your\directory\with\music
for /r %a in (*) do "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -LZ --one-instance --playlist-enqueue "%a"
该--one-instance
选项告诉 VLC 媒体播放器只保留一个窗口,我认为--playlist-enqueue
这非常明确。
在 Linux 上,可以通过以下方式轻松实现:
find /my/music/directory/ -type f -exec vlc -LZ '{}' +
答案4
对于 Linux(我手边没有 Windows 机器)。所有这些都来自手册页和/或 --help 输出。我还测试了这些是否有效。
find /Music/Directory/ -type f -exec vlc --one-instance --playlist-enqueue --playlist-autostart --fullscreen -Z '{}' +
不需要“-L”,因为“-Z”的帮助说“永远随机播放文件”
或者,如果你更喜欢使用 mplayer(我的一台机器上的 vlc 视频缩放功能目前已失效)
find /Music/Directory/ -type f -exec mplayer -enqueue -shuffle -fs -loop 0 '{}' +