使用QDesktopServices使用应用程序打开多个文件

时间:2013-04-10 05:58:55

标签: qt

目前,用户可以在我的Qt应用程序上选择一首歌曲并使用他的默认媒体播放器播放。我使用QDesktopServices :: openUrl()实现了这个。

但是我希望用户能够选择多首歌曲并在他的媒体播放器中加入。一旦用户选择第二首歌曲,当前实现第一首歌曲停止而第二首歌曲开始播放。

最好的方法是什么?

2 个答案:

答案 0 :(得分:2)

我担心,只能使用QDesktopServices::openUrl()将歌曲排入队列。我认为有两种主要方法可以做到这一点:

  1. 您可以调整播放器以将所有歌曲排入队列,使用QDesktopServices::openUrl()打开(实际上相当于双击文件管理器)。

  2. 我认识的大多数玩家都有参数,告诉他们将列出的文件排入队列。例如,可以使用参数deadbeef启动--queue。您可以使用QProcess::startDetached启动带参数的播放器。

  3. 在这两种方式中,你需要知道你正在使用的确切玩家。

答案 1 :(得分:0)

如果您的播放器支持MPRIS(如果它是一个媒体播放器,预计会集成到现代Unix桌面,它确实如此),用于轨道列表操作的D-BUS MPRIS接口的addTrack方法应该有帮助您。您可能希望在第一个文件上调用QDesktopServices::openUrl以确保播放器在调用之前正在运行。