【问题标题】:linux application to control optical media控制光学媒体的linux应用程序
【发布时间】:2015-10-12 04:01:14
【问题描述】:

我想要一个用于 Linux 的图形应用程序,它可以显示 CD/DVD/蓝光驱动器的内容并允许播放或弹出,我希望该解决方案具有通用性,以便我可以将其捐赠给 Linux Mint,那是任何驱动器类型和任何数量的驱动器。在我的系统中,我有三个 DVD 驱动器和一个蓝光驱动器。

我想使用终端窗口内的对话框功能在 bash 中编写它,但我需要永久显示对话框,因此,我需要一个中断来发出信号,以便在驱动器打开或关闭时发出信号 - 我可以发出什么信号陷阱?另外,如何根据媒体类型包含逻辑来选择播放媒体的程序。

另外,我是否应该考虑用 java、python、C++ 或其他语言编写它,如果可以,如何获取硬件信息(例如驱动器的数量和能力,以及驱动器中光学介质的类型和标题)?

【问题讨论】:

  • 什么是弹射一清二楚,但什么是“玩”?打开用户最喜欢的媒体播放器? [Mint 团队想要捐赠这样一个程序的想法从何而来?如果有需要,熟练的成员可以随时进行,唯一的原因可能是他们不想要这样的东西。至少作为 bash 程序,用处不大]
  • 什么是“终端窗口内的对话框功能”?
  • @deviantfan 我相信他指的是dialog 命令,该命令可让您在 bash 脚本中显示 ncurses 对话框。

标签: c++ linux bash signals hardware-programming


【解决方案1】:

忽略“我想将其捐赠给 Linux Mint”的一面,我认为这有点自命不凡,Linux 中有一个 eject 实用程序。

源代码可以在这里找到: https://git.kernel.org/cgit/utils/util-linux/util-linux.git/tree/sys-utils/eject.c

在该代码中,还有用于检测驱动器是否打开、关闭、没有磁盘等的代码。

播放 CD 或 DVD 完全是另一回事。编写音频播放器并不是一件容易的事(即使在简单的 PCM 编码的简单情况下,显然 MP3 又要复杂一些),而视频播放器远不止这些。

要“选择程序”,您必须知道可用的播放器可能被称为什么,并且如果您想花哨的话,请检查实际安装了哪些播放器。除了在代码中包含玩家列表(需要更新)之外,我不知道有任何真正聪明的方法可以实现这一点。事实上,我知道照片查看器 geeqie 在您想要编辑镜头时是这样工作的:它有一个“已知编辑器”列表,它会扫描 PATH 以查找可用的编辑器。

【讨论】:

    猜你喜欢
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2016-12-18
    • 2020-04-13
    • 2012-02-15
    • 1970-01-01
    相关资源
    最近更新 更多