目前,用户可以在我的 Qt 应用程序上选择一首歌曲并使用他的默认媒体播放器播放它。我已经使用 QDesktopServices::openUrl() 实现了这一点。
但是我希望用户能够选择多首歌曲并将它们加入他的媒体播放器。在当前的实现中,一旦用户选择了第二首歌曲,第一首歌曲就停止播放,而第二首歌曲开始播放。
最好的方法是什么?
目前,用户可以在我的 Qt 应用程序上选择一首歌曲并使用他的默认媒体播放器播放它。我已经使用 QDesktopServices::openUrl() 实现了这一点。
但是我希望用户能够选择多首歌曲并将它们加入他的媒体播放器。在当前的实现中,一旦用户选择了第二首歌曲,第一首歌曲就停止播放,而第二首歌曲开始播放。
最好的方法是什么?
恐怕,QDesktopServices::openUrl()
只能使用排队歌曲无法完成。我看到了两种主要方法:
您可以调整播放器以将所有歌曲排入队列,打开方式QDesktopServices::openUrl()
(实际上相当于在文件管理器中双击)。
我认识的大多数玩家都有参数,这些参数告诉他们将列出的文件排入队列。例如,deadbeef
可以使用参数启动--queue
。您可以使用QProcess::startDetached
参数启动播放器。
在这两种方式中,您都需要知道您正在使用的确切播放器。
如果您的播放器支持 MPRIS(如果它是一个有望集成到现代 Unix 桌面的媒体播放器,它确实支持),用于轨道列表操作的 D-BUS MPRIS 接口的addTrack方法应该对您有所帮助。您可能需要调用QDesktopServices::openUrl
第一个文件以确保在调用之前播放器正在运行。