ranger:使用 mplayer 打开许多文件

ranger:使用 mplayer 打开许多文件

我使用名为 ranger 的文件浏览器,我想知道是否可以使用 mplayer 打开不同目录中的多个文件?

我已经可以做的是从一个目录中选择所有文件(按v),然后按Enter。 Mplayer 启动,该目录中的所有文件都会依次播放。

但是如果我想播放不同目录中的文件列表怎么办?

编辑:更一般地说,我想知道如何运行一个将不同目录中的文件作为参数的命令。

答案1

回答来自:http://ranger.carina.uberspace.de/qa/358/open-several-marked-files。我测试了这个并且它有效。

标记仅限于 1 个目录。要打开多个目录中的文件,您需要使用复制缓冲区:

  1. 移动到要使用的文件并键入“ya”以将文件添加到复制缓冲区。如果您用空格或 v 标记文件,它们将同时添加。
  2. 类型:

    :shell命令%c

    通过给定命令使用所有文件。 %c 扩展到复制缓冲区的所有文件。

  3. 最后键入“uy”以重置复制缓冲区。

答案2

您应该使用smplayer(最好的 GUI mplayer,它支持所有功能mplayer)而不是mplayer(这是一个命令行工具)。

如果您的音频文件打开命令如下所示

smplayer -add-to-playlist

选定的文件将被添加到 smplayer 的内部播放列表中。您可以轻松地选择并添加不同目录中的文件进行播放。

答案3

mplayer2这是我的解决方案,用于按ranger随机顺序播放目录和所有子目录中的所有文件。这并不完全是问题的答案,但也许你可以扩展它。

首先我写了一个 shell 脚本,名为ptv

#!/bin/sh

if [[ -z "$1" ]]; then
  echo "usage: $(basename $0) directory [count]"
else
  if [[ ! -z "$2" ]]; then
    SHUFPARAM="-n$2"
  fi
  PLAYLIST="/tmp/playlist-$(whoami)"
  CWD="$(realpath "$1")"
  find "$CWD" -type f -iname \*.mkv -or -iname \*.mp4 -or -iname \*.avi | shuf $SHUFPARAM > $PLAYLIST && \
    mplayer2 --playlist=$PLAYLIST && rm -f $PLAYLIST
fi

该脚本在给定目录中查找我的所有电影文件,创建一个随机排序的播放列表并调用mplayer2此生成的播放列表。shuf如果您想要一个排序列表,请忽略该命令。

下一步是rifle.conf在您的设置目录 ( ~/.config/ranger) 中进行编辑。添加这一行:

directory, label pseudoTV, has mplayer2, flag f = /path/to/ptv "$@"

现在您可以使用脚本open_with(映射到键:)rmplayer2mplayer2您可以在播放列表项目之间<进行导航。>

提示:将目录复制到yank_buffer并将其保存为ranger.然后展开ptv以在所有选定的目录中查找文件...

答案4

你最好使用一个命令行界面启动 mplayer,在 Linux 中是,看我的命令:

~bash~ $ mplayer 1st_screen/JacksonSisters-IBelieveInMiracles.mp3 \
> 2nd_screen/\(15\)\ Memory\ Gospel\ -\ Moby.flac \
> 3rd_screen/01\ -\ Iggy\ Pop\ -\ Livin\'\ on\ the\ Edge\ of\ the\ Night.flac \
> 4th_screen/05\ -\ We\ Must\ Believe\ In\ Magic.flac 

其中 1st_screen、2nd_screen、3rd_screen、4th_screen 是不同的目录。

您始终可以在不同的 shell 中同时启动两个 mplayer 实例,两首歌曲将同时发出声音。

相关内容