2

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

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

最好的方法是什么?

4

2 回答 2

2

恐怕,QDesktopServices::openUrl()只能使用排队歌曲无法完成。我看到了两种主要方法:

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

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

在这两种方式中,您都需要知道您正在使用的确切播放器。

于 2013-04-10T06:13:19.887 回答
0

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

于 2013-04-10T14:12:59.667 回答