多年来我一直使用 VLC 和命令行批处理文件来翻录音频 CD。
我刚刚尝试在 Ubuntu 14.04 中编写类似的 bash 脚本,结果让我很惊讶——我不知道如何获取 CD 上的文件名列表,并将其传递给 VLC Media Player 进行转换。我需要类似的东西:
FILES=/path/to/*.cda
for f in $FILES
do
echo "Processing $f file..."
# take action on each file. $f store current file name
call_my_vlc_function( $f)
done
是否有“技巧”可以在 Ubuntu 中获取音频 CD 上的文件列表以供 bash 脚本使用,或者这根本不可能?我已经阅读了许多关于 gvfs 系统与“真实”文件系统有何不同的文章,但我只是惊讶于 Windows 可以如此轻松地完成一些在 bash 中无法完成的事情。
短暂性脑缺血发作,
---JC
答案1
我想我会支持使用 ripit。但是,它只是其他一些 CD 实用程序(例如 cdparanoia 和 cdda2wav)的包装器。在我看来,将整个 CD 翻录成您需要的文件格式(OGG、WAV、MP3……)会更容易。
但是,如果您必须使用 VLC,那么我怀疑您真正需要的只是曲目信息,而 cdda2wav 可以做到这一点,但除了曲目数量之外,我不知道您具体在寻找什么。无论如何,如果您想这样做来获取曲目数量,那么您可以将参数传递给 VLC,例如:
vlc cdda//sr0 --cdda-track 1
有关 ripit 的更多信息,请查看http://www.suwald.com/ripit/use.php
如果你使用 cdda2wav 或其配套软件,你可能会遇到 Ubuntu 自带的版本问题,所以你可能需要阅读它并从下载其他版本http://cdrecord.org。
如果这些都无济于事,那么我只能说需要更多的投入。
答案2
在 Windows 中,您可能会看到“音频文件 1”、“音频文件 2”等名称。这些不是真正的文件,它们是由 Windows 编造的。要么使用支持此功能的 GUI 文件浏览器(如 Nautilus),要么使用 ripit、crip、yaret 或其他脚本进行翻录。