mplayer 在加载新文件时播放上一个文件的剪辑

mplayer plays clip of previous file when loading new file

在 mplayer 中加载一个音频文件,暂停它,然后加载一个新文件会导致在播放新文件之前先播放一小段初始音频文件。

重现问题:

  1. 运行 mplayer 处于从终端模式:mplayer -slave -quiet /path/to/audio.file
  2. mplayer 现在接受 input commands。输入 pause 并按 Enter 键暂停播放。然后键入 loadfile /path/to/new/audio.file 并按 Enter 键加载新的音频文件。

input commands 文档中,有一个提示...

Try using something like...

  • pausing_keep_force pt_step 1
  • get_property pause

to switch to the next file. It avoids audio playback starting to play the old file for a short time before switching to the new one.

我试过使用文档提示,但要么不起作用,要么我不明白如何正确使用它。 如何防止播放这一小段旧音频文件?

我已经从源代码树的主干编译了 mplayer,但问题仍然存在。

因此,浏览了一些 mplayer 源代码才发现 'tip' 有点不完整。

我可以通过附加到 mplayer play_tree 并进入下一首曲目来阻止播放短片,而不是创建一个全新的 play_tree。仅供参考:'play_tree' 只是 mplayer 用来组织当前加载曲目的数据结构。

加载初始曲目后,可以使用以下命令正确加载新曲目...

  • loadfile /path/to/new/audio.file 1
  • pt_step 1

第一行告诉 mplayer 加载新文件和尾随 1(可以用任何非零值替换)告诉 mplayer 将文件附加到现有 play_tree。第二行告诉 mplayer 在 play_tree.

中前进 1 条轨道

如果第一行末尾的数字被省略或为 0,将创建一个新的 play_tree 并自动播放新文件,但之前会播放一小段上一曲目。

希望这对其他人有帮助。